mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 06:58:05 +02:00
llvmpipe: unify setting raster_state for thread data
avoid future cases of uninitialized memory Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41407>
This commit is contained in:
parent
718a5d48b8
commit
ffd534aae4
3 changed files with 13 additions and 6 deletions
|
|
@ -366,8 +366,7 @@ lp_rast_shade_tile(struct lp_rasterizer_task *task,
|
|||
mask[i / 4] |= (uint64_t)(0xffff) << (16 * (i % 4));
|
||||
|
||||
/* Propagate non-interpolated raster state. */
|
||||
task->thread_data.raster_state.viewport_index = inputs->viewport_index;
|
||||
task->thread_data.raster_state.view_index = inputs->view_index;
|
||||
lp_rast_task_init_thread_data(&task->thread_data, inputs);
|
||||
|
||||
/* run shader on 4x4 block */
|
||||
BEGIN_JIT_CALL(state, task);
|
||||
|
|
@ -475,8 +474,7 @@ lp_rast_shade_quads_mask_sample(struct lp_rasterizer_task *task,
|
|||
*/
|
||||
if ((x % TILE_SIZE) < task->width && (y % TILE_SIZE) < task->height) {
|
||||
/* Propagate non-interpolated raster state. */
|
||||
task->thread_data.raster_state.viewport_index = inputs->viewport_index;
|
||||
task->thread_data.raster_state.view_index = inputs->view_index;
|
||||
lp_rast_task_init_thread_data(&task->thread_data, inputs);
|
||||
|
||||
/* run shader on 4x4 block */
|
||||
BEGIN_JIT_CALL(state, task);
|
||||
|
|
@ -1383,3 +1381,10 @@ lp_rast_fence(struct lp_rasterizer *rast,
|
|||
if (fence)
|
||||
lp_fence_reference((struct lp_fence **)fence, rast->last_fence);
|
||||
}
|
||||
|
||||
void
|
||||
lp_rast_task_init_thread_data(struct lp_jit_thread_data *thread_data, const struct lp_rast_shader_inputs *inputs)
|
||||
{
|
||||
thread_data->raster_state.viewport_index = inputs->viewport_index;
|
||||
thread_data->raster_state.view_index = inputs->view_index;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -447,4 +447,6 @@ void
|
|||
lp_rast_fence(struct lp_rasterizer *rast,
|
||||
struct lp_fence **fence);
|
||||
|
||||
void
|
||||
lp_rast_task_init_thread_data(struct lp_jit_thread_data *thread_data, const struct lp_rast_shader_inputs *inputs);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
#include "util/u_math.h"
|
||||
#include "lp_debug.h"
|
||||
#include "lp_perf.h"
|
||||
#include "lp_rast.h"
|
||||
#include "lp_rast_priv.h"
|
||||
|
||||
|
||||
|
|
@ -103,8 +104,7 @@ shade_quads(struct lp_rasterizer_task *task,
|
|||
assert(!variant->key.depth.enabled);
|
||||
|
||||
/* Propagate non-interpolated raster state */
|
||||
task->thread_data.raster_state.view_index = inputs->view_index;
|
||||
task->thread_data.raster_state.viewport_index = inputs->viewport_index;
|
||||
lp_rast_task_init_thread_data(&task->thread_data, inputs);
|
||||
|
||||
/* run shader on 4x4 block */
|
||||
BEGIN_JIT_CALL(state, task);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue