mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
radeonsi: Make sure to use float number format for packed float colour formats.
These aren't covered by UTIL_FORMAT_TYPE_FLOAT. Fixes 15 piglit (sub)tests. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
This commit is contained in:
parent
5bd86b26df
commit
d0096dfa85
1 changed files with 4 additions and 2 deletions
|
|
@ -1613,7 +1613,7 @@ static void si_cb(struct r600_context *rctx, struct si_pm4_state *pm4,
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (desc->channel[i].type == UTIL_FORMAT_TYPE_FLOAT) {
|
||||
if (i == 4 || desc->channel[i].type == UTIL_FORMAT_TYPE_FLOAT) {
|
||||
ntype = V_028C70_NUMBER_FLOAT;
|
||||
} else {
|
||||
ntype = V_028C70_NUMBER_UNORM;
|
||||
|
|
@ -2087,7 +2087,9 @@ static struct pipe_sampler_view *si_create_sampler_view(struct pipe_context *ctx
|
|||
util_format_compose_swizzles(desc->swizzle, state_swizzle, swizzle);
|
||||
|
||||
first_non_void = util_format_get_first_non_void_channel(pipe_format);
|
||||
switch (desc->channel[first_non_void].type) {
|
||||
if (first_non_void < 0) {
|
||||
num_format = V_008F14_IMG_NUM_FORMAT_FLOAT;
|
||||
} else switch (desc->channel[first_non_void].type) {
|
||||
case UTIL_FORMAT_TYPE_FLOAT:
|
||||
num_format = V_008F14_IMG_NUM_FORMAT_FLOAT;
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue