panfrost: Workaround -bshadow regression

I have *no* idea what's happening here, but let's not regress an app
that used to work in the mean time while we're figuring it out..

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
Alyssa Rosenzweig 2019-04-28 21:39:20 +00:00
parent 3978614d88
commit ec65e1b763
1 changed files with 8 additions and 1 deletions

View File

@ -1591,7 +1591,14 @@ panfrost_create_vertex_elements_state(
so->num_elements = num_elements;
memcpy(so->pipe, elements, sizeof(*elements) * num_elements);
/* Allocate memory for the descriptor state */
/* XXX: What the cornball? This is totally, 100%, unapologetically
* nonsense. And yet it somehow fixes a regression in -bshadow
* (previously, we allocated the descriptor here... a newer commit
* removed that allocation, and then memory corruption led to
* shader_meta getting overwritten in bad ways and then the whole test
* case falling apart . TODO: LOOK INTO PLEASE XXX XXX BAD XXX XXX XXX
*/
panfrost_allocate_chunk(pan_context(pctx), 0, HEAP_DESCRIPTOR);
for (int i = 0; i < num_elements; ++i) {
so->hw[i].index = elements[i].vertex_buffer_index;