gallium: disable tessellation shaders for meta ops
Reviewed-by: Roland Scheidegger <sroland@vmware.com> Signed-off-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -423,6 +423,8 @@ hud_draw(struct hud_context *hud, struct pipe_resource *tex)
|
||||
cso_save_viewport(cso);
|
||||
cso_save_stream_outputs(cso);
|
||||
cso_save_geometry_shader(cso);
|
||||
cso_save_tessctrl_shader(cso);
|
||||
cso_save_tesseval_shader(cso);
|
||||
cso_save_vertex_shader(cso);
|
||||
cso_save_vertex_elements(cso);
|
||||
cso_save_aux_vertex_buffer_slot(cso);
|
||||
@@ -456,6 +458,8 @@ hud_draw(struct hud_context *hud, struct pipe_resource *tex)
|
||||
cso_set_rasterizer(cso, &hud->rasterizer);
|
||||
cso_set_viewport(cso, &viewport);
|
||||
cso_set_stream_outputs(cso, 0, NULL, NULL);
|
||||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
cso_set_vertex_shader_handle(cso, hud->vs);
|
||||
cso_set_vertex_elements(cso, 2, hud->velems);
|
||||
@@ -548,6 +552,8 @@ hud_draw(struct hud_context *hud, struct pipe_resource *tex)
|
||||
cso_restore_rasterizer(cso);
|
||||
cso_restore_viewport(cso);
|
||||
cso_restore_stream_outputs(cso);
|
||||
cso_restore_tessctrl_shader(cso);
|
||||
cso_restore_tesseval_shader(cso);
|
||||
cso_restore_geometry_shader(cso);
|
||||
cso_restore_vertex_shader(cso);
|
||||
cso_restore_vertex_elements(cso);
|
||||
|
||||
@@ -119,6 +119,8 @@ pp_run(struct pp_queue_t *ppq, struct pipe_resource *in,
|
||||
cso_save_depth_stencil_alpha(cso);
|
||||
cso_save_fragment_shader(cso);
|
||||
cso_save_framebuffer(cso);
|
||||
cso_save_tessctrl_shader(cso);
|
||||
cso_save_tesseval_shader(cso);
|
||||
cso_save_geometry_shader(cso);
|
||||
cso_save_rasterizer(cso);
|
||||
cso_save_sample_mask(cso);
|
||||
@@ -139,6 +141,8 @@ pp_run(struct pp_queue_t *ppq, struct pipe_resource *in,
|
||||
cso_set_sample_mask(cso, ~0);
|
||||
cso_set_min_samples(cso, 1);
|
||||
cso_set_stream_outputs(cso, 0, NULL, NULL);
|
||||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
cso_set_render_condition(cso, NULL, FALSE, 0);
|
||||
|
||||
@@ -186,6 +190,8 @@ pp_run(struct pp_queue_t *ppq, struct pipe_resource *in,
|
||||
cso_restore_depth_stencil_alpha(cso);
|
||||
cso_restore_fragment_shader(cso);
|
||||
cso_restore_framebuffer(cso);
|
||||
cso_restore_tessctrl_shader(cso);
|
||||
cso_restore_tesseval_shader(cso);
|
||||
cso_restore_geometry_shader(cso);
|
||||
cso_restore_rasterizer(cso);
|
||||
cso_restore_sample_mask(cso);
|
||||
|
||||
@@ -535,6 +535,8 @@ util_blit_pixels_tex(struct blit_state *ctx,
|
||||
cso_save_framebuffer(ctx->cso);
|
||||
cso_save_fragment_shader(ctx->cso);
|
||||
cso_save_vertex_shader(ctx->cso);
|
||||
cso_save_tessctrl_shader(ctx->cso);
|
||||
cso_save_tesseval_shader(ctx->cso);
|
||||
cso_save_geometry_shader(ctx->cso);
|
||||
cso_save_vertex_elements(ctx->cso);
|
||||
cso_save_aux_vertex_buffer_slot(ctx->cso);
|
||||
@@ -571,6 +573,8 @@ util_blit_pixels_tex(struct blit_state *ctx,
|
||||
set_fragment_shader(ctx, TGSI_WRITEMASK_XYZW,
|
||||
src_sampler_view->texture->target);
|
||||
set_vertex_shader(ctx);
|
||||
cso_set_tessctrl_shader_handle(ctx->cso, NULL);
|
||||
cso_set_tesseval_shader_handle(ctx->cso, NULL);
|
||||
cso_set_geometry_shader_handle(ctx->cso, NULL);
|
||||
|
||||
/* drawing dest */
|
||||
@@ -611,6 +615,8 @@ util_blit_pixels_tex(struct blit_state *ctx,
|
||||
cso_restore_framebuffer(ctx->cso);
|
||||
cso_restore_fragment_shader(ctx->cso);
|
||||
cso_restore_vertex_shader(ctx->cso);
|
||||
cso_restore_tessctrl_shader(ctx->cso);
|
||||
cso_restore_tesseval_shader(ctx->cso);
|
||||
cso_restore_geometry_shader(ctx->cso);
|
||||
cso_restore_vertex_elements(ctx->cso);
|
||||
cso_restore_aux_vertex_buffer_slot(ctx->cso);
|
||||
|
||||
@@ -452,6 +452,8 @@ draw_bitmap_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
||||
cso_save_fragment_shader(cso);
|
||||
cso_save_stream_outputs(cso);
|
||||
cso_save_vertex_shader(cso);
|
||||
cso_save_tessctrl_shader(cso);
|
||||
cso_save_tesseval_shader(cso);
|
||||
cso_save_geometry_shader(cso);
|
||||
cso_save_vertex_elements(cso);
|
||||
cso_save_aux_vertex_buffer_slot(cso);
|
||||
@@ -466,7 +468,9 @@ draw_bitmap_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
||||
/* vertex shader state: position + texcoord pass-through */
|
||||
cso_set_vertex_shader_handle(cso, st->bitmap.vs);
|
||||
|
||||
/* geometry shader state: disabled */
|
||||
/* disable other shaders */
|
||||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
|
||||
/* user samplers, plus our bitmap sampler */
|
||||
@@ -536,6 +540,8 @@ draw_bitmap_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
||||
cso_restore_viewport(cso);
|
||||
cso_restore_fragment_shader(cso);
|
||||
cso_restore_vertex_shader(cso);
|
||||
cso_restore_tessctrl_shader(cso);
|
||||
cso_restore_tesseval_shader(cso);
|
||||
cso_restore_geometry_shader(cso);
|
||||
cso_restore_vertex_elements(cso);
|
||||
cso_restore_aux_vertex_buffer_slot(cso);
|
||||
|
||||
@@ -265,6 +265,8 @@ clear_with_quad(struct gl_context *ctx, unsigned clear_buffers)
|
||||
cso_save_fragment_shader(st->cso_context);
|
||||
cso_save_stream_outputs(st->cso_context);
|
||||
cso_save_vertex_shader(st->cso_context);
|
||||
cso_save_tessctrl_shader(st->cso_context);
|
||||
cso_save_tesseval_shader(st->cso_context);
|
||||
cso_save_geometry_shader(st->cso_context);
|
||||
cso_save_vertex_elements(st->cso_context);
|
||||
cso_save_aux_vertex_buffer_slot(st->cso_context);
|
||||
@@ -347,6 +349,8 @@ clear_with_quad(struct gl_context *ctx, unsigned clear_buffers)
|
||||
}
|
||||
|
||||
set_fragment_shader(st);
|
||||
cso_set_tessctrl_shader_handle(st->cso_context, NULL);
|
||||
cso_set_tesseval_shader_handle(st->cso_context, NULL);
|
||||
|
||||
if (num_layers > 1)
|
||||
set_vertex_shader_layered(st);
|
||||
@@ -371,6 +375,8 @@ clear_with_quad(struct gl_context *ctx, unsigned clear_buffers)
|
||||
cso_restore_viewport(st->cso_context);
|
||||
cso_restore_fragment_shader(st->cso_context);
|
||||
cso_restore_vertex_shader(st->cso_context);
|
||||
cso_restore_tessctrl_shader(st->cso_context);
|
||||
cso_restore_tesseval_shader(st->cso_context);
|
||||
cso_restore_geometry_shader(st->cso_context);
|
||||
cso_restore_vertex_elements(st->cso_context);
|
||||
cso_restore_aux_vertex_buffer_slot(st->cso_context);
|
||||
|
||||
@@ -693,6 +693,8 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
||||
cso_save_fragment_shader(cso);
|
||||
cso_save_stream_outputs(cso);
|
||||
cso_save_vertex_shader(cso);
|
||||
cso_save_tessctrl_shader(cso);
|
||||
cso_save_tesseval_shader(cso);
|
||||
cso_save_geometry_shader(cso);
|
||||
cso_save_vertex_elements(cso);
|
||||
cso_save_aux_vertex_buffer_slot(cso);
|
||||
@@ -746,7 +748,9 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
||||
/* vertex shader state: position + texcoord pass-through */
|
||||
cso_set_vertex_shader_handle(cso, driver_vp);
|
||||
|
||||
/* geometry shader state: disabled */
|
||||
/* disable other shaders */
|
||||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
|
||||
/* texture sampling state: */
|
||||
@@ -816,6 +820,8 @@ draw_textured_quad(struct gl_context *ctx, GLint x, GLint y, GLfloat z,
|
||||
cso_restore_sampler_views(cso, PIPE_SHADER_FRAGMENT);
|
||||
cso_restore_fragment_shader(cso);
|
||||
cso_restore_vertex_shader(cso);
|
||||
cso_restore_tessctrl_shader(cso);
|
||||
cso_restore_tesseval_shader(cso);
|
||||
cso_restore_geometry_shader(cso);
|
||||
cso_restore_vertex_elements(cso);
|
||||
cso_restore_aux_vertex_buffer_slot(cso);
|
||||
|
||||
@@ -229,6 +229,8 @@ st_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
|
||||
cso_save_viewport(cso);
|
||||
cso_save_stream_outputs(cso);
|
||||
cso_save_vertex_shader(cso);
|
||||
cso_save_tessctrl_shader(cso);
|
||||
cso_save_tesseval_shader(cso);
|
||||
cso_save_geometry_shader(cso);
|
||||
cso_save_vertex_elements(cso);
|
||||
cso_save_aux_vertex_buffer_slot(cso);
|
||||
@@ -238,6 +240,8 @@ st_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
|
||||
semantic_names, semantic_indexes);
|
||||
cso_set_vertex_shader_handle(cso, vs);
|
||||
}
|
||||
cso_set_tessctrl_shader_handle(cso, NULL);
|
||||
cso_set_tesseval_shader_handle(cso, NULL);
|
||||
cso_set_geometry_shader_handle(cso, NULL);
|
||||
|
||||
for (i = 0; i < numAttribs; i++) {
|
||||
@@ -279,6 +283,8 @@ st_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
|
||||
/* restore state */
|
||||
cso_restore_viewport(cso);
|
||||
cso_restore_vertex_shader(cso);
|
||||
cso_restore_tessctrl_shader(cso);
|
||||
cso_restore_tesseval_shader(cso);
|
||||
cso_restore_geometry_shader(cso);
|
||||
cso_restore_vertex_elements(cso);
|
||||
cso_restore_aux_vertex_buffer_slot(cso);
|
||||
|
||||
Reference in New Issue
Block a user