summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state.c
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2010-03-26 04:15:53 -0700
committerCorbin Simpson <MostAwesomeDude@gmail.com>2010-03-26 04:15:53 -0700
commit38c7a01b6c220ad04c5754602673ad3cf36ad508 (patch)
tree2aed82af785111e750c149b4d53dae84069d8357 /src/gallium/drivers/r300/r300_state.c
parent1f19aba1ea461db7bbd10d05244eb12dfc31a046 (diff)
Revert "r300g: add generating texture coordinates for point sprites (WIP)"
This reverts commit cba6430524198a1bdcdeada03cbe946a454f3935. Breaks celestia with a hardlock. :T We really need to sit down and study texture stuffing further.
Diffstat (limited to 'src/gallium/drivers/r300/r300_state.c')
-rw-r--r--src/gallium/drivers/r300/r300_state.c35
1 files changed, 1 insertions, 34 deletions
diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c
index 31e32114b6..8e9285419c 100644
--- a/src/gallium/drivers/r300/r300_state.c
+++ b/src/gallium/drivers/r300/r300_state.c
@@ -714,7 +714,6 @@ static void* r300_create_rs_state(struct pipe_context* pipe,
{
struct r300_screen* r300screen = r300_screen(pipe->screen);
struct r300_rs_state* rs = CALLOC_STRUCT(r300_rs_state);
- unsigned coord_index;
/* Copy rasterizer state for Draw. */
rs->rs = *state;
@@ -807,32 +806,6 @@ static void* r300_create_rs_state(struct pipe_context* pipe,
rs->color_control = R300_SHADE_MODEL_SMOOTH;
}
- /* Point sprites */
- if (state->sprite_coord_enable) {
- coord_index = ffs(state->sprite_coord_enable)-1;
-
- SCREEN_DBG(r300screen, DBG_DRAW,
- "r300: point sprite: shader coord=%d\n", coord_index);
-
- rs->stuffing_enable =
- R300_GB_POINT_STUFF_ENABLE |
- R300_GB_TEX_ST << (R300_GB_TEX0_SOURCE_SHIFT + (coord_index*2));
-
- rs->point_texcoord_left = 0.0f;
- rs->point_texcoord_right = 1.0f;
-
- switch (state->sprite_coord_mode) {
- case PIPE_SPRITE_COORD_UPPER_LEFT:
- rs->point_texcoord_top = 0.0f;
- rs->point_texcoord_bottom = 1.0f;
- break;
- case PIPE_SPRITE_COORD_LOWER_LEFT:
- rs->point_texcoord_top = 1.0f;
- rs->point_texcoord_bottom = 0.0f;
- break;
- }
- }
-
return (void*)rs;
}
@@ -842,7 +815,6 @@ static void r300_bind_rs_state(struct pipe_context* pipe, void* state)
struct r300_context* r300 = r300_context(pipe);
struct r300_rs_state* rs = (struct r300_rs_state*)state;
boolean scissor_was_enabled = r300->scissor_enabled;
- int last_sprite_coord_index = r300->sprite_coord_index;
if (r300->draw) {
draw_flush(r300->draw);
@@ -852,22 +824,17 @@ static void r300_bind_rs_state(struct pipe_context* pipe, void* state)
if (rs) {
r300->polygon_offset_enabled = rs->rs.offset_cw || rs->rs.offset_ccw;
r300->scissor_enabled = rs->rs.scissor;
- r300->sprite_coord_index = ffs(rs->rs.sprite_coord_enable)-1;
} else {
r300->polygon_offset_enabled = FALSE;
r300->scissor_enabled = FALSE;
- r300->sprite_coord_index = -1;
}
UPDATE_STATE(state, r300->rs_state);
- r300->rs_state.size = 24 + (r300->polygon_offset_enabled ? 5 : 0);
+ r300->rs_state.size = 17 + (r300->polygon_offset_enabled ? 5 : 0);
if (scissor_was_enabled != r300->scissor_enabled) {
r300->scissor_state.dirty = TRUE;
}
- if (last_sprite_coord_index != r300->sprite_coord_index) {
- r300->rs_block_state.dirty = TRUE;
- }
}
/* Free rasterizer state. */