softpipe: plug in softpipe's texture samplers into draw module.
This commit is contained in:
@@ -221,6 +221,14 @@ softpipe_create( struct pipe_screen *screen,
|
||||
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.
|
||||
*/
|
||||
@@ -228,6 +236,9 @@ softpipe_create( struct pipe_screen *screen,
|
||||
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;
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "draw/draw_vertex.h"
|
||||
|
||||
#include "sp_quad.h"
|
||||
#include "sp_tex_sample.h"
|
||||
|
||||
|
||||
/**
|
||||
@@ -139,6 +140,12 @@ struct softpipe_context {
|
||||
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;
|
||||
|
||||
Reference in New Issue
Block a user