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
|
||||
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
|
||||
^^^^^^^^
|
||||
|
|
|
@ -153,6 +153,16 @@ struct pipe_context {
|
|||
bool condition,
|
||||
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
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue