gallium: add GS_INVOCATIONS property
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -1468,6 +1468,14 @@ static void emit_decls( struct ureg_program *ureg )
|
|||||||
ureg->property_gs_max_vertices);
|
ureg->property_gs_max_vertices);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ureg->property_gs_invocations != ~0) {
|
||||||
|
assert(ureg->processor == TGSI_PROCESSOR_GEOMETRY);
|
||||||
|
|
||||||
|
emit_property(ureg,
|
||||||
|
TGSI_PROPERTY_GS_INVOCATIONS,
|
||||||
|
ureg->property_gs_invocations);
|
||||||
|
}
|
||||||
|
|
||||||
if (ureg->property_fs_coord_origin) {
|
if (ureg->property_fs_coord_origin) {
|
||||||
assert(ureg->processor == TGSI_PROCESSOR_FRAGMENT);
|
assert(ureg->processor == TGSI_PROCESSOR_FRAGMENT);
|
||||||
|
|
||||||
@@ -1757,6 +1765,7 @@ struct ureg_program *ureg_create( unsigned processor )
|
|||||||
ureg->property_gs_input_prim = ~0;
|
ureg->property_gs_input_prim = ~0;
|
||||||
ureg->property_gs_output_prim = ~0;
|
ureg->property_gs_output_prim = ~0;
|
||||||
ureg->property_gs_max_vertices = ~0;
|
ureg->property_gs_max_vertices = ~0;
|
||||||
|
ureg->property_gs_invocations = ~0;
|
||||||
|
|
||||||
ureg->free_temps = util_bitmask_create();
|
ureg->free_temps = util_bitmask_create();
|
||||||
if (ureg->free_temps == NULL)
|
if (ureg->free_temps == NULL)
|
||||||
|
@@ -2765,6 +2765,14 @@ distance outputs.
|
|||||||
This is useful for APIs that don't have UCPs and where clip distances written
|
This is useful for APIs that don't have UCPs and where clip distances written
|
||||||
by a shader cannot be disabled.
|
by a shader cannot be disabled.
|
||||||
|
|
||||||
|
GS_INVOCATIONS
|
||||||
|
""""""""""""""
|
||||||
|
|
||||||
|
Specifies the number of times a geometry shader should be executed for each
|
||||||
|
input primitive. Each invocation will have a different
|
||||||
|
TGSI_SEMANTIC_INVOCATIONID system value set. If not specified, assumed to
|
||||||
|
be 1.
|
||||||
|
|
||||||
|
|
||||||
Texture Sampling and Texture Formats
|
Texture Sampling and Texture Formats
|
||||||
------------------------------------
|
------------------------------------
|
||||||
|
@@ -236,7 +236,8 @@ union tgsi_immediate_data
|
|||||||
#define TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS 5
|
#define TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS 5
|
||||||
#define TGSI_PROPERTY_FS_DEPTH_LAYOUT 6
|
#define TGSI_PROPERTY_FS_DEPTH_LAYOUT 6
|
||||||
#define TGSI_PROPERTY_VS_PROHIBIT_UCPS 7
|
#define TGSI_PROPERTY_VS_PROHIBIT_UCPS 7
|
||||||
#define TGSI_PROPERTY_COUNT 8
|
#define TGSI_PROPERTY_GS_INVOCATIONS 8
|
||||||
|
#define TGSI_PROPERTY_COUNT 9
|
||||||
|
|
||||||
struct tgsi_property {
|
struct tgsi_property {
|
||||||
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_PROPERTY */
|
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_PROPERTY */
|
||||||
|
Reference in New Issue
Block a user