diff options
author | Roland Scheidegger <[email protected]> | 2015-12-22 03:42:33 +0100 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2016-01-07 02:00:04 +0100 |
commit | 8d4039ecdb167771d4b085f70b9666438be1c6ad (patch) | |
tree | c1812ea0e1f41f09e8cc41a62ea4078ae30f1963 /src/gallium/drivers/softpipe/sp_context.h | |
parent | 8e3a76791f208e67392b7b7a2e63eca32945ac7b (diff) |
softpipe: tell draw about the vertex layout we want
This makes it more similar to llvmpipe. It also allows us to let draw emit
code handle things like getting zeros for non-existing vs outputs
automatically. There probably isn't really any overhead either way, there isn't
really any "simply copy everything" code in the emit path it would copy each
attrib individually just the same. Likewise, we still do another mapping step
in softpipe as the layout may still not match exactly (same as in llvmpipe,
should probably nuke the pointless mapping in both drivers).
This fixes the piglit arb_fragment_layer_viewport no_gs/no_write tests.
Reviewed-by: Brian Paul <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>
Diffstat (limited to 'src/gallium/drivers/softpipe/sp_context.h')
-rw-r--r-- | src/gallium/drivers/softpipe/sp_context.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gallium/drivers/softpipe/sp_context.h b/src/gallium/drivers/softpipe/sp_context.h index 188cdeaf76f..d5c4aaae638 100644 --- a/src/gallium/drivers/softpipe/sp_context.h +++ b/src/gallium/drivers/softpipe/sp_context.h @@ -119,16 +119,16 @@ struct softpipe_context { /** Vertex format */ struct sp_setup_info setup_info; - struct vertex_info vertex_info_vbuf; + struct vertex_info vertex_info; /** Which vertex shader output slot contains point size */ - int psize_slot; + int8_t psize_slot; /** Which vertex shader output slot contains viewport index */ - int viewport_index_slot; + int8_t viewport_index_slot; /** Which vertex shader output slot contains layer */ - int layer_slot; + int8_t layer_slot; /** The reduced version of the primitive supplied by the state tracker */ unsigned reduced_api_prim; |