iris: More gracefully fail in resource_from_user_memory
rusticl (and clover) would like to get a graceful fail here so they can
fall back to a shadow copy instead of us asserting. We also start
rejecting arrayed surface because isl doesn't allow selecting a QPitch
yet. Even if it did, QPitch is horribly restrictive, even for linear
surfaces, that it likely wouldn't be that useful.
Fixes: e81f3edf76
("iris: Allow userptr on 1D and 2D images")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15903>
This commit is contained in:
parent
8501661332
commit
c8df09ebd4
|
@ -1175,9 +1175,13 @@ iris_resource_from_user_memory(struct pipe_screen *pscreen,
|
|||
if (!res)
|
||||
return NULL;
|
||||
|
||||
assert(templ->target == PIPE_BUFFER ||
|
||||
templ->target == PIPE_TEXTURE_1D ||
|
||||
templ->target == PIPE_TEXTURE_2D);
|
||||
if (templ->target != PIPE_BUFFER &&
|
||||
templ->target != PIPE_TEXTURE_1D &&
|
||||
templ->target != PIPE_TEXTURE_2D)
|
||||
return NULL;
|
||||
|
||||
if (templ->array_size > 1)
|
||||
return NULL;
|
||||
|
||||
size_t res_size = templ->width0;
|
||||
if (templ->target != PIPE_BUFFER) {
|
||||
|
|
Loading…
Reference in New Issue