diff --git a/src/gallium/drivers/asahi/agx_pipe.c b/src/gallium/drivers/asahi/agx_pipe.c index c03b501929d..5bf33de45f1 100644 --- a/src/gallium/drivers/asahi/agx_pipe.c +++ b/src/gallium/drivers/asahi/agx_pipe.c @@ -1823,12 +1823,6 @@ agx_get_shader_param(struct pipe_screen *pscreen, enum pipe_shader_type shader, return false; } - /* Don't allow side effects with vertex processing. The APIs don't require it - * and it may be problematic on our hardware. - */ - bool allow_side_effects = - (shader == PIPE_SHADER_FRAGMENT) || (shader == PIPE_SHADER_COMPUTE); - /* this is probably not totally correct.. but it's a start: */ switch (param) { case PIPE_SHADER_CAP_MAX_INSTRUCTIONS: @@ -1905,10 +1899,10 @@ agx_get_shader_param(struct pipe_screen *pscreen, enum pipe_shader_type shader, return (1 << PIPE_SHADER_IR_NIR); case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS: - return allow_side_effects ? PIPE_MAX_SHADER_BUFFERS : 0; + return PIPE_MAX_SHADER_BUFFERS; case PIPE_SHADER_CAP_MAX_SHADER_IMAGES: - return allow_side_effects ? PIPE_MAX_SHADER_IMAGES : 0; + return PIPE_MAX_SHADER_IMAGES; case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS: case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS: diff --git a/src/gallium/drivers/asahi/agx_state.c b/src/gallium/drivers/asahi/agx_state.c index 9f0f9d7c519..31c3ce8d860 100644 --- a/src/gallium/drivers/asahi/agx_state.c +++ b/src/gallium/drivers/asahi/agx_state.c @@ -4970,13 +4970,6 @@ agx_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info, agx_dirty_all(ctx); #endif - /* We don't support side effects in vertex stages (only used internally for - * transform feedback lowering), so this is trivial. - */ - if (ctx->rast->base.rasterizer_discard && - !ctx->stage[PIPE_SHADER_GEOMETRY].shader) - return; - agx_batch_init_state(batch); /* Dirty track the reduced prim: lines vs points vs triangles. Happens before