diff options
author | Dave Airlie <airlied@redhat.com> | 2018-05-16 13:27:54 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2018-05-16 13:27:54 +1000 |
commit | ae3d10a680a5d99ad06318ce09436f665fce8f6b (patch) | |
tree | 01e858e40f3eed2e56091ffd906235e025738769 | |
parent | bc323c501697bccfaa72fc56d91463c461dd00c4 (diff) |
wip tessvirgl-wip-tess
-rw-r--r-- | src/vrend_renderer.c | 2 | ||||
-rw-r--r-- | src/vrend_shader.c | 7 |
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), |