softpipe->quad[i].output = sp_quad_output_stage(softpipe);
}
+ for (i = 0; i < PIPE_MAX_SAMPLERS; i++) {
+ softpipe->tgsi.samplers[i].base.get_samples = sp_get_samples;
+ softpipe->tgsi.samplers[i].unit = i;
+ softpipe->tgsi.samplers[i].sp = softpipe;
+ softpipe->tgsi.samplers[i].cache = softpipe->tex_cache[i];
+ softpipe->tgsi.samplers_list[i] = &softpipe->tgsi.samplers[i];
+ }
+
/*
* Create drawing context and plug our rendering stage into it.
*/
if (!softpipe->draw)
goto fail;
+ draw_texture_samplers(softpipe->draw,
+ PIPE_MAX_SAMPLERS, softpipe->tgsi.samplers_list);
+
softpipe->setup = sp_draw_render_stage(softpipe);
if (!softpipe->setup)
goto fail;
#include "draw/draw_vertex.h"
#include "sp_quad.h"
+#include "sp_tex_sample.h"
/**
struct quad_stage *first; /**< points to one of the above stages */
} quad[SP_NUM_QUAD_THREADS];
+ /** TGSI exec things */
+ struct {
+ struct sp_shader_sampler samplers[PIPE_MAX_SAMPLERS];
+ struct sp_shader_sampler *samplers_list[PIPE_MAX_SAMPLERS];
+ } tgsi;
+
/** The primitive drawing context */
struct draw_context *draw;
struct draw_stage *setup;