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) {
assert(ureg->processor == TGSI_PROCESSOR_FRAGMENT);
ureg->property_gs_input_prim = ~0;
ureg->property_gs_output_prim = ~0;
ureg->property_gs_max_vertices = ~0;
+ ureg->property_gs_invocations = ~0;
ureg->free_temps = util_bitmask_create();
if (ureg->free_temps == NULL)
This is useful for APIs that don't have UCPs and where clip distances written
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
------------------------------------
#define TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS 5
#define TGSI_PROPERTY_FS_DEPTH_LAYOUT 6
#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 {
unsigned Type : 4; /**< TGSI_TOKEN_TYPE_PROPERTY */