mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 01:20:17 +01:00
nvc0: honour scaled coordiantes setting for linear textures
This commit is contained in:
parent
d801545964
commit
f0a0d59f0f
1 changed files with 5 additions and 6 deletions
|
|
@ -61,7 +61,7 @@ nvc0_create_sampler_view(struct pipe_context *pipe,
|
|||
{
|
||||
uint32_t flags = 0;
|
||||
|
||||
if (res->target == PIPE_TEXTURE_RECT)
|
||||
if (res->target == PIPE_TEXTURE_RECT || res->target == PIPE_BUFFER)
|
||||
flags |= NV50_TEXVIEW_SCALED_COORDS;
|
||||
|
||||
return nvc0_create_texture_view(pipe, res, templ, flags, res->target);
|
||||
|
|
@ -122,9 +122,13 @@ nvc0_create_texture_view(struct pipe_context *pipe,
|
|||
if (desc->colorspace == UTIL_FORMAT_COLORSPACE_SRGB)
|
||||
tic[2] |= NV50_TIC_2_COLORSPACE_SRGB;
|
||||
|
||||
if (!(flags & NV50_TEXVIEW_SCALED_COORDS))
|
||||
tic[2] |= NV50_TIC_2_NORMALIZED_COORDS;
|
||||
|
||||
/* check for linear storage type */
|
||||
if (unlikely(!nouveau_bo_memtype(nv04_resource(texture)->bo))) {
|
||||
if (texture->target == PIPE_BUFFER) {
|
||||
assert(!(tic[2] & NV50_TIC_2_NORMALIZED_COORDS));
|
||||
address +=
|
||||
view->pipe.u.buf.first_element * desc->block.bits / 8;
|
||||
tic[2] |= NV50_TIC_2_LINEAR | NV50_TIC_2_TARGET_BUFFER;
|
||||
|
|
@ -135,8 +139,6 @@ nvc0_create_texture_view(struct pipe_context *pipe,
|
|||
} else {
|
||||
/* must be 2D texture without mip maps */
|
||||
tic[2] |= NV50_TIC_2_LINEAR | NV50_TIC_2_TARGET_RECT;
|
||||
if (texture->target != PIPE_TEXTURE_RECT)
|
||||
tic[2] |= NV50_TIC_2_NORMALIZED_COORDS;
|
||||
tic[3] = mt->level[0].pitch;
|
||||
tic[4] = mt->base.base.width0;
|
||||
tic[5] = (1 << 16) | mt->base.base.height0;
|
||||
|
|
@ -148,9 +150,6 @@ nvc0_create_texture_view(struct pipe_context *pipe,
|
|||
return &view->pipe;
|
||||
}
|
||||
|
||||
if (!(flags & NV50_TEXVIEW_SCALED_COORDS))
|
||||
tic[2] |= NV50_TIC_2_NORMALIZED_COORDS;
|
||||
|
||||
tic[2] |=
|
||||
((mt->level[0].tile_mode & 0x0f0) << (22 - 4)) |
|
||||
((mt->level[0].tile_mode & 0xf00) << (25 - 8));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue