gallium: add a cond rendering hook for vulkan.
The vulkan cond rendering hook is quite different than the traditional gallium one so add a new interface for it. This just conditionalises rendering on the memory location. Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8182>
This commit is contained in:
parent
a57361ae02
commit
86328fc7b7
|
@ -563,6 +563,9 @@ Normally, if the occlusion query returned a non-zero result subsequent
|
||||||
drawing happens normally so fragments may be generated, shaded and
|
drawing happens normally so fragments may be generated, shaded and
|
||||||
processed even where they're known to be obscured.
|
processed even where they're known to be obscured.
|
||||||
|
|
||||||
|
The ''render_condition_mem'' function specifies the drawing is dependant
|
||||||
|
on a value in memory. A buffer resource and offset denote which 32-bit
|
||||||
|
value to use for the query. This is used for Vulkan API.
|
||||||
|
|
||||||
Flushing
|
Flushing
|
||||||
^^^^^^^^
|
^^^^^^^^
|
||||||
|
|
|
@ -153,6 +153,16 @@ struct pipe_context {
|
||||||
bool condition,
|
bool condition,
|
||||||
enum pipe_render_cond_flag mode );
|
enum pipe_render_cond_flag mode );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Predicate subsequent rendering on a value in a buffer
|
||||||
|
* \param buffer The buffer to query for the value
|
||||||
|
* \param offset Offset in the buffer to query 32-bit
|
||||||
|
* \param condition whether to skip on FALSE or TRUE query results
|
||||||
|
*/
|
||||||
|
void (*render_condition_mem)( struct pipe_context *pipe,
|
||||||
|
struct pipe_resource *buffer,
|
||||||
|
uint32_t offset,
|
||||||
|
bool condition );
|
||||||
/**
|
/**
|
||||||
* Query objects
|
* Query objects
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue