[Mesa-dev] Pull request for 1.50 GS layout qualifiers

Fabian Bieler fabianbieler at fastmail.fm
Fri Jun 14 05:34:45 PDT 2013


Hello!

I gave your series a try and found two small nitpicks:

In "glsl: Parse the GLSL 1.50 GS layout qualifiers.":
There are two debug printfs left in "ast_type_qualifier::merge_qualifier"
max_vertices or VerticesOut is not checked against MaxGeometryOutputVertices.

Fabian

On 2013-06-14 03:15, Eric Anholt wrote:
> 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
> 
> 
> 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 



More information about the mesa-dev mailing list