mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 17:58:26 +02:00
r300g: is_npot -> uses_pitch
This commit is contained in:
parent
0179c5a95b
commit
4e949271c2
4 changed files with 9 additions and 7 deletions
|
|
@ -250,10 +250,11 @@ struct r300_texture {
|
|||
/* Total size of this texture, in bytes. */
|
||||
unsigned size;
|
||||
|
||||
/* Whether this texture has non-power-of-two dimensions.
|
||||
/* Whether this texture has non-power-of-two dimensions
|
||||
* or a user-specified pitch.
|
||||
* It can be either a regular texture or a rectangle one.
|
||||
*/
|
||||
boolean is_npot;
|
||||
boolean uses_pitch;
|
||||
|
||||
/* Pipe buffer backing this texture. */
|
||||
struct r300_winsys_buffer *buffer;
|
||||
|
|
|
|||
|
|
@ -969,7 +969,7 @@ static void r300_set_fragment_sampler_views(struct pipe_context* pipe,
|
|||
|
||||
/* R300-specific - set the texrect factor in the fragment shader */
|
||||
texture = (struct r300_texture *)views[i]->texture;
|
||||
if (!is_r500 && texture->is_npot) {
|
||||
if (!is_r500 && texture->uses_pitch) {
|
||||
/* XXX It would be nice to re-emit just 1 constant,
|
||||
* XXX not all of them */
|
||||
r300->dirty_state |= R300_NEW_FRAGMENT_SHADER_CONSTANTS;
|
||||
|
|
|
|||
|
|
@ -490,7 +490,7 @@ static void r300_merge_textures_and_samplers(struct r300_context* r300)
|
|||
texstate->filter[0] |= R300_TX_WRAP_T(R300_TX_CLAMP_TO_EDGE);
|
||||
}
|
||||
|
||||
if (tex->is_npot) {
|
||||
if (tex->uses_pitch) {
|
||||
/* NPOT textures don't support mip filter, unfortunately.
|
||||
* This prevents incorrect rendering. */
|
||||
texstate->filter[0] &= ~R300_TX_MIN_FILTER_MIP_MASK;
|
||||
|
|
|
|||
|
|
@ -521,7 +521,7 @@ static void r300_setup_texture_state(struct r300_screen* screen, struct r300_tex
|
|||
state->format0 = R300_TX_WIDTH((pt->width0 - 1) & 0x7ff) |
|
||||
R300_TX_HEIGHT((pt->height0 - 1) & 0x7ff);
|
||||
|
||||
if (tex->is_npot || tex->stride_override) {
|
||||
if (tex->uses_pitch) {
|
||||
/* rectangles love this */
|
||||
state->format0 |= R300_TX_PITCH_EN;
|
||||
state->format2 = (tex->pitch[0] - 1) & 0x1fff;
|
||||
|
|
@ -741,8 +741,9 @@ static void r300_setup_miptree(struct r300_screen* screen,
|
|||
|
||||
static void r300_setup_flags(struct r300_texture* tex)
|
||||
{
|
||||
tex->is_npot = !util_is_power_of_two(tex->tex.width0) ||
|
||||
!util_is_power_of_two(tex->tex.height0);
|
||||
tex->uses_pitch = !util_is_power_of_two(tex->tex.width0) ||
|
||||
!util_is_power_of_two(tex->tex.height0) ||
|
||||
tex->stride_override;
|
||||
}
|
||||
|
||||
static void r300_setup_tiling(struct pipe_screen *screen,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue