compiler: Support layout(set=,binding=)
authorCody Northrop <cody@lunarg.com>
Fri, 13 Feb 2015 18:53:09 +0000 (11:53 -0700)
committerCody Northrop <cody@lunarg.com>
Tue, 17 Feb 2015 21:20:42 +0000 (14:20 -0700)
commit526ca332b6da71558ce198eeb365e44b7a8a63e7
tree2b5bc71de4f9bfc0fe2d6bd038c6d9c70e4d52fd
parenta94d23cb0492871ecade77359379574968ebbf8b
compiler: Support layout(set=,binding=)

This change allows shaders to specify set and binding.
The values come from BottomIR as packed 32-bit values:
16 high bits for set, 16 low bits for binding.
We allow them to remain together through the backend, then
split apart during resource map creation.

To facilitate this change, we also switched to using the
resource mapping tracked by the compiler, rather than
forcing bindings to match the descriptor set layout, which
was a short term solution.  This results in greatly reduced
binding table size.
icd/intel/compiler/mesa-utils/src/mesa/main/uniforms.c
icd/intel/compiler/pipeline/pipeline_compiler_interface.cpp
icd/intel/compiler/shader/glsl_glass_backend_translator.cpp
icd/intel/compiler/shader/glsl_glass_backend_translator.h