[Mesa-dev] Pull request for 1.50 GS layout qualifiers
Eric Anholt
eric at anholt.net
Thu Jun 13 18:15:22 PDT 2013
Hey Paul! I got the layout qualifiers working. It's unblocked things
so I can finish off a bunch of testcases I've been working on, so I'd
like to get it in your gs branch so we can all enjoy testcases together.
There's one not-for-upstream commit in here, and do note the TODO in the
last commit (and we need tests for this feature still). Oh, and there's
one little prep commit for UBOs, too.
I'm planning on sending out these commits:
glsl: Make _mesa_print_ir() available from anything including ir.h.
glsl: Remove ir_print_visitor.h includes and usage
mesa: Use shared code for converting shader targets to short strings.
mesa: Move the common _mesa_glsl_compile_shader() code to glsl/.
for review, plus a port of your "Make files buildable from C" to the
list, since they seem like a good cleanup, together.
The following changes since commit 4e6d6dbfab79d9e7aff5d26c585d6e77b36db0f2:
!UPSTREAM: Handle GS_OPCODE_THREAD_END in implied_mrf_writes() (2013-06-12 11:09:01 -0700)
are available in the git repository at:
git://people.freedesktop.org/~anholt/mesa gs-qualifiers
for you to fetch changes up to dbe3e86de06813ea0619dd9035f328372c9caab2:
glsl: Cross-validate GS layout qualifiers while intrastage linking. (2013-06-13 18:04:29 -0700)
----------------------------------------------------------------
Eric Anholt (11):
mesa: Expose uniform buffers in geometry shaders.
glsl: Make _mesa_print_ir() available from anything including ir.h.
glsl: Remove ir_print_visitor.h includes and usage
mesa: Use shared code for converting shader targets to short strings.
mesa: Move the common _mesa_glsl_compile_shader() code to glsl/.
glsl: Include EmitVertex() and EndPrimitive() prototypes for GLSL 1.50 GS.
glsl: !UPSTREAM: Spam in builtin 1.30 variables for 1.50 GSes.
glsl: Make sure that we don't put too many bitfields in ast_type_qualifier.
glsl: Parse the GLSL 1.50 GS layout qualifiers.
glsl: Export the compiler's GS layout qualifiers to the gl_shader.
glsl: Cross-validate GS layout qualifiers while intrastage linking.
src/glsl/ast.h | 12 ++
src/glsl/ast_to_hir.cpp | 2 +
src/glsl/ast_type.cpp | 23 ++++
src/glsl/builtin_variables.cpp | 6 +
src/glsl/builtins/profiles/150.geom | 3 +
src/glsl/glsl_parser.yy | 69 +++++++++-
src/glsl/glsl_parser_extras.cpp | 153 ++++++++++++++++++++-
src/glsl/glsl_parser_extras.h | 11 ++
src/glsl/ir.h | 8 ++
src/glsl/ir_print_visitor.cpp | 3 +
src/glsl/ir_print_visitor.h | 3 -
src/glsl/ir_rvalue_visitor.cpp | 1 -
src/glsl/link_varyings.cpp | 12 +-
src/glsl/linker.cpp | 115 +++++++++++++---
src/glsl/linker.h | 3 -
src/glsl/main.cpp | 60 +-------
src/glsl/opt_array_splitting.cpp | 1 -
src/glsl/opt_noop_swizzle.cpp | 1 -
src/glsl/opt_structure_splitting.cpp | 1 -
src/glsl/program.h | 16 ++-
src/glsl/test_optpass.cpp | 1 -
src/mesa/drivers/dri/i965/brw_fs.cpp | 1 -
src/mesa/drivers/dri/i965/brw_fs_emit.cpp | 1 -
src/mesa/drivers/dri/i965/brw_fs_reg_allocate.cpp | 1 -
.../drivers/dri/i965/brw_fs_vector_splitting.cpp | 1 -
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 5 +-
.../drivers/dri/i965/brw_schedule_instructions.cpp | 1 -
src/mesa/drivers/dri/i965/brw_shader.cpp | 10 +-
src/mesa/drivers/dri/i965/brw_vec4.cpp | 1 -
src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 1 -
.../drivers/dri/i965/brw_vec4_reg_allocate.cpp | 1 -
src/mesa/main/ff_fragment_shader.cpp | 1 -
src/mesa/main/mtypes.h | 18 +++
src/mesa/main/shaderapi.c | 74 ++++++----
src/mesa/main/uniform_query.cpp | 9 +-
src/mesa/program/ir_to_mesa.cpp | 102 +-------------
src/mesa/program/ir_to_mesa.h | 1 -
src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 12 +-
38 files changed, 491 insertions(+), 253 deletions(-)
create mode 100644 src/glsl/builtins/profiles/150.geom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130613/fdb9e4cc/attachment.pgp>
More information about the mesa-dev
mailing list