mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
r300-gallium: Properly setup HW/SW TCL controls.
This keeps non-TCL chipsets from locking up, and also fully unbreaks RADEON_NO_TCL rendering.
This commit is contained in:
parent
3630da9916
commit
ffbf3f4952
2 changed files with 12 additions and 12 deletions
|
|
@ -338,11 +338,17 @@ static void* r300_create_rs_state(struct pipe_context* pipe,
|
|||
{
|
||||
struct r300_rs_state* rs = CALLOC_STRUCT(r300_rs_state);
|
||||
|
||||
/* XXX endian control */
|
||||
if (r300_screen(pipe->screen)->caps->has_tcl) {
|
||||
rs->vap_control_status = 0;
|
||||
} else {
|
||||
/* Copy rasterizer state for Draw. */
|
||||
rs->rs = *state;
|
||||
|
||||
/* If bypassing TCL, or if no TCL engine is present, turn off the HW TCL.
|
||||
* Else, enable HW TCL and force Draw's TCL off. */
|
||||
if (state->bypass_vs_clip_and_viewport ||
|
||||
!r300_screen(pipe->screen)->caps->has_tcl) {
|
||||
rs->vap_control_status = R300_VAP_TCL_BYPASS;
|
||||
} else {
|
||||
rs->rs.bypass_vs_clip_and_viewport = TRUE;
|
||||
rs->vap_control_status = 0;
|
||||
}
|
||||
|
||||
rs->point_size = pack_float_16_6x(state->point_size) |
|
||||
|
|
@ -406,13 +412,6 @@ static void* r300_create_rs_state(struct pipe_context* pipe,
|
|||
rs->color_control = R300_SHADE_MODEL_SMOOTH;
|
||||
}
|
||||
|
||||
rs->rs = *state;
|
||||
|
||||
/* If using HW TCL, tell Draw to not do its magic. */
|
||||
if (r300_screen(pipe->screen)->caps->has_tcl) {
|
||||
rs->rs.bypass_vs_clip_and_viewport = TRUE;
|
||||
}
|
||||
|
||||
return (void*)rs;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -109,7 +109,8 @@ static void r300_surface_fill(struct pipe_context* pipe,
|
|||
if (caps->has_tcl) {
|
||||
r300_emit_vertex_shader(r300, &r300_passthrough_vertex_shader);
|
||||
} else {
|
||||
BEGIN_CS(2);
|
||||
BEGIN_CS(4);
|
||||
OUT_CS_REG(R300_VAP_CNTL_STATUS, R300_VAP_TCL_BYPASS);
|
||||
OUT_CS_REG(R300_VAP_CNTL, R300_PVS_NUM_SLOTS(5) |
|
||||
R300_PVS_NUM_CNTLRS(5) |
|
||||
R300_PVS_NUM_FPUS(caps->num_vert_fpus) |
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue