diff options
author | Timothy Arceri <[email protected]> | 2019-12-06 21:57:16 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2019-12-13 00:07:19 +0000 |
commit | a6aedc662ebbcac747475324abe3791ff67fc1a8 (patch) | |
tree | dadce9bb76192df75032944ced5098a32688740c /src/mesa/drivers | |
parent | 144f54e483d1e1b0cd865606fecdef002bb322b1 (diff) |
st/glsl_to_nir: use nir based program resource list builder
Here we use the NIR based builder to add everything to the resource
list execpt for SSO packed varyings. Since the details of those
varyings get lost during packing we leave the special handing to
the GLSL IR pass for now. In order to do this we add some bools
to the build resource list functions.
Using the NIR based resource list builder gets us a step closer to
using a native NIR based linker. It should also be faster than the
GLSL IR builder, one because the NIR optimisations should mean we
add less entries due to better optimisations, and two because nir
gives us better lists to work with and we don't need to walk the
entire IR to find the resources.
Ack-by: Alejandro PiƱeiro <[email protected]>
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_link.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_link.cpp b/src/mesa/drivers/dri/i965/brw_link.cpp index 512206e71e6..c77b696e6a7 100644 --- a/src/mesa/drivers/dri/i965/brw_link.cpp +++ b/src/mesa/drivers/dri/i965/brw_link.cpp @@ -384,9 +384,9 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg) /* SPIR-V programs build its resource list from linked NIR shaders. */ if (!shProg->data->spirv) - build_program_resource_list(ctx, shProg); + build_program_resource_list(ctx, shProg, false); else - nir_build_program_resource_list(ctx, shProg); + nir_build_program_resource_list(ctx, shProg, true); for (stage = 0; stage < ARRAY_SIZE(shProg->_LinkedShaders); stage++) { struct gl_linked_shader *shader = shProg->_LinkedShaders[stage]; |