summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2018-05-16 13:27:54 +1000
committerDave Airlie <airlied@redhat.com>2018-05-16 13:27:54 +1000
commitae3d10a680a5d99ad06318ce09436f665fce8f6b (patch)
tree01e858e40f3eed2e56091ffd906235e025738769
parentbc323c501697bccfaa72fc56d91463c461dd00c4 (diff)
-rw-r--r--src/vrend_renderer.c2
-rw-r--r--src/vrend_shader.c7
2 files changed, 5 insertions, 4 deletions
diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c
index 1c72966..87d1bb9 100644
--- a/src/vrend_renderer.c
+++ b/src/vrend_renderer.c
@@ -7063,7 +7063,7 @@ void vrend_renderer_fill_caps(uint32_t set, uint32_t version,
glGetIntegerv(GL_MAX_GEOMETRY_OUTPUT_VERTICES, &caps->v2.max_geom_output_vertices);
glGetIntegerv(GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS, &caps->v2.max_geom_total_output_components);
}
- caps->v2.max_shader_patch_varyings = 0; // until we do tess.
+ caps->v2.max_shader_patch_varyings = 32; // until we do tess.
if (epoxy_has_gl_extension("GL_ARB_texture_gather")) {
glGetIntegerv(GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET, &caps->v2.min_texture_gather_offset);
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index 74c71b6..99cdc76 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -1280,7 +1280,7 @@ static int handle_vertex_proc_exit(struct dump_ctx *ctx)
if (emit_clip_dist_movs(ctx))
return FALSE;
- if (!ctx->key->gs_present) {
+ if (!ctx->key->gs_present && !ctx->key->tes_present) {
if (emit_prescale(ctx))
return FALSE;
}
@@ -2191,11 +2191,12 @@ iter_instruction(struct tgsi_iterate_context *iter,
ctx->system_values[j].name == TGSI_SEMANTIC_INVOCATIONID ||
ctx->system_values[j].name == TGSI_SEMANTIC_SAMPLEID)
snprintf(srcs[i], 255, "%s(vec4(intBitsToFloat(%s)))", stypeprefix, ctx->system_values[j].glsl_name);
- else if (ctx->system_values[j].name == TGSI_SEMANTIC_TESSCOORD ||
+ else if (/*ctx->system_values[j].name == TGSI_SEMANTIC_TESSCOORD ||*/
ctx->system_values[j].name == TGSI_SEMANTIC_TESSINNER ||
ctx->system_values[j].name == TGSI_SEMANTIC_TESSOUTER) {
snprintf(srcs[i], 255, "%s%s[%d]", prefix, ctx->system_values[j].glsl_name, src->Register.SwizzleX);
- } else if (ctx->system_values[j].name == TGSI_SEMANTIC_SAMPLEPOS) {
+ } else if (ctx->system_values[j].name == TGSI_SEMANTIC_SAMPLEPOS ||
+ ctx->system_values[j].name == TGSI_SEMANTIC_TESSCOORD) {
snprintf(srcs[i], 255, "vec4(%s.%c, %s.%c, %s.%c, %s.%c)",
ctx->system_values[j].glsl_name, get_swiz_char(src->Register.SwizzleX),
ctx->system_values[j].glsl_name, get_swiz_char(src->Register.SwizzleY),