Commit 6d35610b authored by Lionel Landwerlin's avatar Lionel Landwerlin Committed by Marge Bot

st: add support for INTEL_blackhole_render

Adding a new CSO proved to be fairly difficult especially because this
extension affect draw/dispatch/blit alike.

Instead this change passes the state of the noop into the entry points
emitting the operations affected.

v2: Fix assert in default pipe caps

v3: Drop whitespace changes (Ken)
Signed-off-by: Lionel Landwerlin's avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
Part-of: <!2964>
parent 5d7e9edb
......@@ -408,6 +408,10 @@ u_pipe_screen_get_param_defaults(struct pipe_screen *pscreen,
case PIPE_CAP_INTEGER_MULTIPLY_32X16:
return 0;
case PIPE_CAP_FRONTEND_NOOP:
/* Enables INTEL_blackhole_render */
return 0;
default:
unreachable("bad PIPE_CAP_*");
}
......
......@@ -468,6 +468,17 @@ struct pipe_context {
/*@}*/
/**
* INTEL_blackhole_render
*/
/*@{*/
void (*set_frontend_noop)(struct pipe_context *,
bool enable);
/*@}*/
/**
* Resource functions for blit-like functionality
*
......
......@@ -912,6 +912,8 @@ enum pipe_cap
PIPE_CAP_MAX_VERTEX_BUFFERS,
PIPE_CAP_OPENCL_INTEGER_FUNCTIONS,
PIPE_CAP_INTEGER_MULTIPLY_32X16,
/* Turn draw, dispatch, blit into NOOP */
PIPE_CAP_FRONTEND_NOOP,
};
/**
......
......@@ -105,6 +105,9 @@ st_Enable(struct gl_context *ctx, GLenum cap, GLboolean state)
case GL_DEBUG_OUTPUT_SYNCHRONOUS:
st_update_debug_callback(st);
break;
case GL_BLACKHOLE_RENDER_INTEL:
st->pipe->set_frontend_noop(st->pipe, ctx->IntelBlackholeRender);
break;
default:
break;
}
......
......@@ -793,6 +793,7 @@ void st_init_extensions(struct pipe_screen *screen,
{ o(OES_texture_float_linear), PIPE_CAP_TEXTURE_FLOAT_LINEAR },
{ o(OES_texture_half_float_linear), PIPE_CAP_TEXTURE_HALF_FLOAT_LINEAR },
{ o(OES_texture_view), PIPE_CAP_SAMPLER_VIEW_TARGET },
{ o(INTEL_blackhole_render), PIPE_CAP_FRONTEND_NOOP, },
};
/* Required: render target and sampler support */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment