projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r300g: fix regression in texdepth.
[mesa.git]
/
src
/
gallium
/
drivers
/
r300
/
r300_fs.c
diff --git
a/src/gallium/drivers/r300/r300_fs.c
b/src/gallium/drivers/r300/r300_fs.c
index 8da0796e70fc0a4d9492d1b4955727d56661d1b5..dab57fdcc77e73d2a489b81b2785f0d00646f8b3 100644
(file)
--- a/
src/gallium/drivers/r300/r300_fs.c
+++ b/
src/gallium/drivers/r300/r300_fs.c
@@
-140,14
+140,11
@@
static void get_external_state(
for (i = 0; i < texstate->sampler_state_count; i++) {
struct r300_sampler_state* s = texstate->sampler_states[i];
for (i = 0; i < texstate->sampler_state_count; i++) {
struct r300_sampler_state* s = texstate->sampler_states[i];
- struct r300_texture *t;
- if (!s
|| !texstate->sampler_views[i]
) {
+ if (!s) {
continue;
}
continue;
}
- t = (struct r300_texture*)texstate->sampler_views[i]->base.texture;
-
if (s->state.compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) {
/* XXX Gallium doesn't provide us with any information regarding
* this mode, so we are screwed. I'm setting 0 = LUMINANCE. */
if (s->state.compare_mode == PIPE_TEX_COMPARE_R_TO_TEXTURE) {
/* XXX Gallium doesn't provide us with any information regarding
* this mode, so we are screwed. I'm setting 0 = LUMINANCE. */
@@
-157,7
+154,12
@@
static void get_external_state(
state->unit[i].texture_compare_func = s->state.compare_func;
}
state->unit[i].texture_compare_func = s->state.compare_func;
}
- state->unit[i].fake_npot = t->uses_pitch;
+ if (texstate->sampler_views[i]) {
+ struct r300_texture *t;
+ t = (struct r300_texture*)texstate->sampler_views[i]->base.texture;
+
+ state->unit[i].fake_npot = t->uses_pitch;
+ }
state->unit[i].non_normalized_coords = !s->state.normalized_coords;
/* XXX this should probably take into account STR, not just S. */
state->unit[i].non_normalized_coords = !s->state.normalized_coords;
/* XXX this should probably take into account STR, not just S. */
@@
-278,7
+280,10
@@
static void r300_translate_fragment_shader(
"Giving up...\n");
abort();
}
"Giving up...\n");
abort();
}
+
+ rc_destroy(&compiler.Base);
r300_dummy_fragment_shader(r300, shader);
r300_dummy_fragment_shader(r300, shader);
+ return;
}
/* Initialize numbers of constants for each type. */
}
/* Initialize numbers of constants for each type. */