aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIago Toral Quiroga <[email protected]>2018-01-08 09:45:15 +0100
committerIago Toral Quiroga <[email protected]>2018-01-10 08:21:02 +0100
commit7e5c81235ff774ab463596222eac0e8141a90d1a (patch)
tree47f9e173c855bf723bcaf5cc9532e86970748834
parentdae856eced1d4de966b0e1cfc5f2ed201240571c (diff)
glsl: remove Lower{TCS,TES}PatchVerticesIn
Intel was the only user and now NIR can do the lowering. v2: do not try to handle it as a system value directly for the SPIR-V path. In GL we rather handle it as a uniform like we do for the GLSL path (Jason). v3: drop LowerTESPatchVerticesIn as well (Jason) Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r--src/compiler/glsl/builtin_variables.cpp13
-rw-r--r--src/compiler/glsl/linker.cpp18
-rw-r--r--src/mesa/drivers/dri/i965/brw_context.c2
-rw-r--r--src/mesa/main/mtypes.h2
4 files changed, 4 insertions, 31 deletions
diff --git a/src/compiler/glsl/builtin_variables.cpp b/src/compiler/glsl/builtin_variables.cpp
index a885f32875c..a686cb6a457 100644
--- a/src/compiler/glsl/builtin_variables.cpp
+++ b/src/compiler/glsl/builtin_variables.cpp
@@ -38,11 +38,6 @@ static const struct gl_builtin_uniform_element gl_NumSamples_elements[] = {
{NULL, {STATE_NUM_SAMPLES, 0, 0}, SWIZZLE_XXXX}
};
-/* only for TCS */
-static const struct gl_builtin_uniform_element gl_PatchVerticesIn_elements[] = {
- {NULL, {STATE_INTERNAL, STATE_TCS_PATCH_VERTICES_IN}, SWIZZLE_XXXX}
-};
-
static const struct gl_builtin_uniform_element gl_DepthRange_elements[] = {
{"near", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_XXXX},
{"far", {STATE_DEPTH_RANGE, 0, 0}, SWIZZLE_YYYY},
@@ -240,7 +235,6 @@ static const struct gl_builtin_uniform_element gl_NormalMatrix_elements[] = {
#define STATEVAR(name) {#name, name ## _elements, ARRAY_SIZE(name ## _elements)}
static const struct gl_builtin_uniform_desc _mesa_builtin_uniform_desc[] = {
- STATEVAR(gl_PatchVerticesIn),
STATEVAR(gl_NumSamples),
STATEVAR(gl_DepthRange),
STATEVAR(gl_ClipPlane),
@@ -1067,12 +1061,7 @@ builtin_variable_generator::generate_tcs_special_vars()
{
add_system_value(SYSTEM_VALUE_PRIMITIVE_ID, int_t, "gl_PrimitiveID");
add_system_value(SYSTEM_VALUE_INVOCATION_ID, int_t, "gl_InvocationID");
-
- if (state->ctx->Const.LowerTCSPatchVerticesIn) {
- add_uniform(int_t, "gl_PatchVerticesIn");
- } else {
- add_system_value(SYSTEM_VALUE_VERTICES_IN, int_t, "gl_PatchVerticesIn");
- }
+ add_system_value(SYSTEM_VALUE_VERTICES_IN, int_t, "gl_PatchVerticesIn");
add_output(VARYING_SLOT_TESS_LEVEL_OUTER, array(float_t, 4),
"gl_TessLevelOuter")->data.patch = 1;
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index 33fd76deae9..6f9680aae78 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -2502,7 +2502,7 @@ resize_tes_inputs(struct gl_context *ctx,
ir->accept(&input_resize_visitor);
}
- if (tcs || ctx->Const.LowerTESPatchVerticesIn) {
+ if (tcs) {
/* Convert the gl_PatchVerticesIn system value into a constant, since
* the value is known at this point.
*/
@@ -2513,20 +2513,8 @@ resize_tes_inputs(struct gl_context *ctx,
void *mem_ctx = ralloc_parent(var);
var->data.location = 0;
var->data.explicit_location = false;
- if (tcs) {
- var->data.mode = ir_var_auto;
- var->constant_value = new(mem_ctx) ir_constant(num_vertices);
- } else {
- var->data.mode = ir_var_uniform;
- var->data.how_declared = ir_var_hidden;
- var->allocate_state_slots(1);
- ir_state_slot *slot0 = &var->get_state_slots()[0];
- slot0->swizzle = SWIZZLE_XXXX;
- slot0->tokens[0] = STATE_INTERNAL;
- slot0->tokens[1] = STATE_TES_PATCH_VERTICES_IN;
- for (int i = 2; i < STATE_LENGTH; i++)
- slot0->tokens[i] = 0;
- }
+ var->data.mode = ir_var_auto;
+ var->constant_value = new(mem_ctx) ir_constant(num_vertices);
}
}
}
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c
index b555f7bfdf1..f765cff76b9 100644
--- a/src/mesa/drivers/dri/i965/brw_context.c
+++ b/src/mesa/drivers/dri/i965/brw_context.c
@@ -537,8 +537,6 @@ brw_initialize_context_constants(struct brw_context *brw)
ctx->Const.MaxClipPlanes = 8;
ctx->Const.GLSLTessLevelsAsInputs = true;
- ctx->Const.LowerTCSPatchVerticesIn = devinfo->gen >= 8;
- ctx->Const.LowerTESPatchVerticesIn = true;
ctx->Const.PrimitiveRestartForPatches = true;
ctx->Const.Program[MESA_SHADER_VERTEX].MaxNativeInstructions = 16 * 1024;
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index a4f1e78f41b..226eb94da91 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -4020,8 +4020,6 @@ struct gl_constants
GLuint MaxTessPatchComponents;
GLuint MaxTessControlTotalOutputComponents;
bool LowerTessLevel; /**< Lower gl_TessLevel* from float[n] to vecn? */
- bool LowerTCSPatchVerticesIn; /**< Lower gl_PatchVerticesIn to a uniform */
- bool LowerTESPatchVerticesIn; /**< Lower gl_PatchVerticesIn to a uniform */
bool PrimitiveRestartForPatches;
bool LowerCsDerivedVariables; /**< Lower gl_GlobalInvocationID and
* gl_LocalInvocationIndex based on