mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-15 22:08:17 +02:00
r300: Save viewport and clip states before invoking blitter.
This commit is contained in:
parent
932e6f8d52
commit
b42455c4f4
3 changed files with 10 additions and 0 deletions
|
|
@ -34,6 +34,8 @@ static void r300_blitter_save_states(struct r300_context* r300)
|
|||
util_blitter_save_rasterizer(r300->blitter, r300->rs_state.state);
|
||||
util_blitter_save_fragment_shader(r300->blitter, r300->fs);
|
||||
util_blitter_save_vertex_shader(r300->blitter, r300->vs);
|
||||
util_blitter_save_viewport(r300->blitter, &r300->viewport);
|
||||
util_blitter_save_clip(r300->blitter, &r300->clip);
|
||||
}
|
||||
|
||||
/* Clear currently bound buffers. */
|
||||
|
|
|
|||
|
|
@ -333,6 +333,10 @@ struct r300_context {
|
|||
|
||||
struct pipe_stencil_ref stencil_ref;
|
||||
|
||||
struct pipe_clip_state clip;
|
||||
|
||||
struct pipe_viewport_state viewport;
|
||||
|
||||
/* Bitmask of dirty state objects. */
|
||||
uint32_t dirty_state;
|
||||
/* Flag indicating whether or not the HW is dirty. */
|
||||
|
|
|
|||
|
|
@ -376,6 +376,8 @@ static void r300_set_clip_state(struct pipe_context* pipe,
|
|||
{
|
||||
struct r300_context* r300 = r300_context(pipe);
|
||||
|
||||
r300->clip = *state;
|
||||
|
||||
if (r300_screen(pipe->screen)->caps->has_tcl) {
|
||||
memcpy(r300->clip_state.state, state, sizeof(struct pipe_clip_state));
|
||||
r300->clip_state.size = 29;
|
||||
|
|
@ -986,6 +988,8 @@ static void r300_set_viewport_state(struct pipe_context* pipe,
|
|||
struct r300_viewport_state* viewport =
|
||||
(struct r300_viewport_state*)r300->viewport_state.state;
|
||||
|
||||
r300->viewport = *state;
|
||||
|
||||
/* Do the transform in HW. */
|
||||
viewport->vte_control = R300_VTX_W0_FMT;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue