diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2016-04-18 17:17:31 -0700 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2016-04-20 09:14:47 -0700 |
commit | 35b758c378900b2c611050e782ca8100fbcc671d (patch) | |
tree | 065bd58973e6cdca45aa5150dd149101fd170293 /src/intel/vulkan/anv_nir_lower_push_constants.c | |
parent | 3bbe8a09eaf95548313db13b4e56dbdd35d2755e (diff) | |
download | external_mesa3d-35b758c378900b2c611050e782ca8100fbcc671d.zip external_mesa3d-35b758c378900b2c611050e782ca8100fbcc671d.tar.gz external_mesa3d-35b758c378900b2c611050e782ca8100fbcc671d.tar.bz2 |
anv/lower_push_constants: Stop treating scalar specially
All of the code that did something special based on vec4 vs. scalar is
bogus. In the backend, everything is now in units of bytes and the vec4
backend can handle full std140 packing so we don't need to do anything
special anymore.
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94998
Diffstat (limited to 'src/intel/vulkan/anv_nir_lower_push_constants.c')
-rw-r--r-- | src/intel/vulkan/anv_nir_lower_push_constants.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/src/intel/vulkan/anv_nir_lower_push_constants.c b/src/intel/vulkan/anv_nir_lower_push_constants.c index 53cd3d7..44a1a3f 100644 --- a/src/intel/vulkan/anv_nir_lower_push_constants.c +++ b/src/intel/vulkan/anv_nir_lower_push_constants.c @@ -23,16 +23,9 @@ #include "anv_nir.h" -struct lower_push_constants_state { - nir_shader *shader; - bool is_scalar; -}; - static bool lower_push_constants_block(nir_block *block, void *void_state) { - struct lower_push_constants_state *state = void_state; - nir_foreach_instr(block, instr) { if (instr->type != nir_instr_type_intrinsic) continue; @@ -43,9 +36,6 @@ lower_push_constants_block(nir_block *block, void *void_state) if (intrin->intrinsic != nir_intrinsic_load_push_constant) continue; - /* This wont work for vec4 stages. */ - assert(state->is_scalar); - assert(intrin->const_index[0] % 4 == 0); assert(intrin->const_index[1] == 128); @@ -57,21 +47,10 @@ lower_push_constants_block(nir_block *block, void *void_state) } void -anv_nir_lower_push_constants(nir_shader *shader, bool is_scalar) +anv_nir_lower_push_constants(nir_shader *shader) { - struct lower_push_constants_state state = { - .shader = shader, - .is_scalar = is_scalar, - }; - nir_foreach_function(shader, function) { if (function->impl) - nir_foreach_block(function->impl, lower_push_constants_block, &state); + nir_foreach_block(function->impl, lower_push_constants_block, NULL); } - - assert(shader->num_uniforms % 4 == 0); - if (is_scalar) - shader->num_uniforms /= 4; - else - shader->num_uniforms = DIV_ROUND_UP(shader->num_uniforms, 16); } |