draw: whitespace fixes, etc.
This commit is contained in:
parent
488dd2c191
commit
994c33db87
|
@ -45,9 +45,11 @@ struct pt_emit {
|
||||||
const struct vertex_info *vinfo;
|
const struct vertex_info *vinfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
void draw_pt_emit_prepare( struct pt_emit *emit,
|
|
||||||
unsigned prim,
|
void
|
||||||
unsigned *max_vertices )
|
draw_pt_emit_prepare(struct pt_emit *emit,
|
||||||
|
unsigned prim,
|
||||||
|
unsigned *max_vertices)
|
||||||
{
|
{
|
||||||
struct draw_context *draw = emit->draw;
|
struct draw_context *draw = emit->draw;
|
||||||
const struct vertex_info *vinfo;
|
const struct vertex_info *vinfo;
|
||||||
|
@ -59,7 +61,6 @@ void draw_pt_emit_prepare( struct pt_emit *emit,
|
||||||
*/
|
*/
|
||||||
draw_do_flush( draw, DRAW_FLUSH_BACKEND );
|
draw_do_flush( draw, DRAW_FLUSH_BACKEND );
|
||||||
|
|
||||||
|
|
||||||
/* XXX: may need to defensively reset this later on as clipping can
|
/* XXX: may need to defensively reset this later on as clipping can
|
||||||
* clobber this state in the render backend.
|
* clobber this state in the render backend.
|
||||||
*/
|
*/
|
||||||
|
@ -71,7 +72,6 @@ void draw_pt_emit_prepare( struct pt_emit *emit,
|
||||||
*/
|
*/
|
||||||
emit->vinfo = vinfo = draw->render->get_vertex_info(draw->render);
|
emit->vinfo = vinfo = draw->render->get_vertex_info(draw->render);
|
||||||
|
|
||||||
|
|
||||||
/* Translate from pipeline vertices to hw vertices.
|
/* Translate from pipeline vertices to hw vertices.
|
||||||
*/
|
*/
|
||||||
dst_offset = 0;
|
dst_offset = 0;
|
||||||
|
@ -107,20 +107,20 @@ void draw_pt_emit_prepare( struct pt_emit *emit,
|
||||||
hw_key.output_stride = vinfo->size * 4;
|
hw_key.output_stride = vinfo->size * 4;
|
||||||
|
|
||||||
if (!emit->translate ||
|
if (!emit->translate ||
|
||||||
translate_key_compare(&emit->translate->key, &hw_key) != 0)
|
translate_key_compare(&emit->translate->key, &hw_key) != 0) {
|
||||||
{
|
translate_key_sanitize(&hw_key);
|
||||||
translate_key_sanitize(&hw_key);
|
emit->translate = translate_cache_find(emit->cache, &hw_key);
|
||||||
emit->translate = translate_cache_find(emit->cache, &hw_key);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
*max_vertices = (draw->render->max_vertex_buffer_bytes /
|
*max_vertices = (draw->render->max_vertex_buffer_bytes /
|
||||||
(vinfo->size * 4));
|
(vinfo->size * 4));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void draw_pt_emit( struct pt_emit *emit,
|
void
|
||||||
const struct draw_vertex_info *vert_info,
|
draw_pt_emit(struct pt_emit *emit,
|
||||||
const struct draw_prim_info *prim_info)
|
const struct draw_vertex_info *vert_info,
|
||||||
|
const struct draw_prim_info *prim_info)
|
||||||
{
|
{
|
||||||
const float (*vertex_data)[4] = (const float (*)[4])vert_info->verts->data;
|
const float (*vertex_data)[4] = (const float (*)[4])vert_info->verts->data;
|
||||||
unsigned vertex_count = vert_info->count;
|
unsigned vertex_count = vert_info->count;
|
||||||
|
@ -167,15 +167,13 @@ void draw_pt_emit( struct pt_emit *emit,
|
||||||
~0);
|
~0);
|
||||||
|
|
||||||
/* fetch/translate vertex attribs to fill hw_verts[] */
|
/* fetch/translate vertex attribs to fill hw_verts[] */
|
||||||
translate->run( translate,
|
translate->run(translate,
|
||||||
0,
|
0,
|
||||||
vertex_count,
|
vertex_count,
|
||||||
draw->instance_id,
|
draw->instance_id,
|
||||||
hw_verts );
|
hw_verts );
|
||||||
|
|
||||||
render->unmap_vertices( render,
|
render->unmap_vertices(render, 0, vertex_count - 1);
|
||||||
0,
|
|
||||||
vertex_count - 1 );
|
|
||||||
|
|
||||||
for (start = i = 0;
|
for (start = i = 0;
|
||||||
i < prim_info->primitive_count;
|
i < prim_info->primitive_count;
|
||||||
|
@ -190,9 +188,10 @@ void draw_pt_emit( struct pt_emit *emit,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void draw_pt_emit_linear(struct pt_emit *emit,
|
void
|
||||||
const struct draw_vertex_info *vert_info,
|
draw_pt_emit_linear(struct pt_emit *emit,
|
||||||
const struct draw_prim_info *prim_info)
|
const struct draw_vertex_info *vert_info,
|
||||||
|
const struct draw_prim_info *prim_info)
|
||||||
{
|
{
|
||||||
const float (*vertex_data)[4] = (const float (*)[4])vert_info->verts->data;
|
const float (*vertex_data)[4] = (const float (*)[4])vert_info->verts->data;
|
||||||
unsigned stride = vert_info->stride;
|
unsigned stride = vert_info->stride;
|
||||||
|
@ -267,7 +266,9 @@ fail:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct pt_emit *draw_pt_emit_create( struct draw_context *draw )
|
|
||||||
|
struct pt_emit *
|
||||||
|
draw_pt_emit_create(struct draw_context *draw)
|
||||||
{
|
{
|
||||||
struct pt_emit *emit = CALLOC_STRUCT(pt_emit);
|
struct pt_emit *emit = CALLOC_STRUCT(pt_emit);
|
||||||
if (!emit)
|
if (!emit)
|
||||||
|
@ -283,7 +284,9 @@ struct pt_emit *draw_pt_emit_create( struct draw_context *draw )
|
||||||
return emit;
|
return emit;
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_pt_emit_destroy( struct pt_emit *emit )
|
|
||||||
|
void
|
||||||
|
draw_pt_emit_destroy(struct pt_emit *emit)
|
||||||
{
|
{
|
||||||
if (emit->cache)
|
if (emit->cache)
|
||||||
translate_cache_destroy(emit->cache);
|
translate_cache_destroy(emit->cache);
|
||||||
|
|
|
@ -46,7 +46,8 @@ struct pt_fetch {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/* Perform the fetch from API vertex elements & vertex buffers, to a
|
/**
|
||||||
|
* Perform the fetch from API vertex elements & vertex buffers, to a
|
||||||
* contiguous set of float[4] attributes as required for the
|
* contiguous set of float[4] attributes as required for the
|
||||||
* vertex_shader->run_linear() method.
|
* vertex_shader->run_linear() method.
|
||||||
*
|
*
|
||||||
|
@ -55,10 +56,11 @@ struct pt_fetch {
|
||||||
* directly to hw vertices.
|
* directly to hw vertices.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void draw_pt_fetch_prepare( struct pt_fetch *fetch,
|
void
|
||||||
unsigned vs_input_count,
|
draw_pt_fetch_prepare(struct pt_fetch *fetch,
|
||||||
unsigned vertex_size,
|
unsigned vs_input_count,
|
||||||
unsigned instance_id_index )
|
unsigned vertex_size,
|
||||||
|
unsigned instance_id_index)
|
||||||
{
|
{
|
||||||
struct draw_context *draw = fetch->draw;
|
struct draw_context *draw = fetch->draw;
|
||||||
unsigned nr_inputs;
|
unsigned nr_inputs;
|
||||||
|
@ -141,16 +143,14 @@ void draw_pt_fetch_prepare( struct pt_fetch *fetch,
|
||||||
translate_key_sanitize(&key);
|
translate_key_sanitize(&key);
|
||||||
fetch->translate = translate_cache_find(fetch->cache, &key);
|
fetch->translate = translate_cache_find(fetch->cache, &key);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
draw_pt_fetch_run(struct pt_fetch *fetch,
|
||||||
void draw_pt_fetch_run( struct pt_fetch *fetch,
|
const unsigned *elts,
|
||||||
const unsigned *elts,
|
unsigned count,
|
||||||
unsigned count,
|
char *verts)
|
||||||
char *verts )
|
|
||||||
{
|
{
|
||||||
struct draw_context *draw = fetch->draw;
|
struct draw_context *draw = fetch->draw;
|
||||||
struct translate *translate = fetch->translate;
|
struct translate *translate = fetch->translate;
|
||||||
|
@ -170,14 +170,14 @@ void draw_pt_fetch_run( struct pt_fetch *fetch,
|
||||||
count,
|
count,
|
||||||
draw->instance_id,
|
draw->instance_id,
|
||||||
verts );
|
verts );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void draw_pt_fetch_run_linear( struct pt_fetch *fetch,
|
void
|
||||||
unsigned start,
|
draw_pt_fetch_run_linear(struct pt_fetch *fetch,
|
||||||
unsigned count,
|
unsigned start,
|
||||||
char *verts )
|
unsigned count,
|
||||||
|
char *verts)
|
||||||
{
|
{
|
||||||
struct draw_context *draw = fetch->draw;
|
struct draw_context *draw = fetch->draw;
|
||||||
struct translate *translate = fetch->translate;
|
struct translate *translate = fetch->translate;
|
||||||
|
@ -200,7 +200,8 @@ void draw_pt_fetch_run_linear( struct pt_fetch *fetch,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
struct pt_fetch *draw_pt_fetch_create( struct draw_context *draw )
|
struct pt_fetch *
|
||||||
|
draw_pt_fetch_create(struct draw_context *draw)
|
||||||
{
|
{
|
||||||
struct pt_fetch *fetch = CALLOC_STRUCT(pt_fetch);
|
struct pt_fetch *fetch = CALLOC_STRUCT(pt_fetch);
|
||||||
if (!fetch)
|
if (!fetch)
|
||||||
|
@ -216,11 +217,12 @@ struct pt_fetch *draw_pt_fetch_create( struct draw_context *draw )
|
||||||
return fetch;
|
return fetch;
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_pt_fetch_destroy( struct pt_fetch *fetch )
|
|
||||||
|
void
|
||||||
|
draw_pt_fetch_destroy(struct pt_fetch *fetch)
|
||||||
{
|
{
|
||||||
if (fetch->cache)
|
if (fetch->cache)
|
||||||
translate_cache_destroy(fetch->cache);
|
translate_cache_destroy(fetch->cache);
|
||||||
|
|
||||||
FREE(fetch);
|
FREE(fetch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -87,8 +87,6 @@ struct fetch_emit_middle_end {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void fetch_emit_prepare( struct draw_pt_middle_end *middle,
|
static void fetch_emit_prepare( struct draw_pt_middle_end *middle,
|
||||||
unsigned prim,
|
unsigned prim,
|
||||||
unsigned opt,
|
unsigned opt,
|
||||||
|
@ -99,21 +97,16 @@ static void fetch_emit_prepare( struct draw_pt_middle_end *middle,
|
||||||
const struct vertex_info *vinfo;
|
const struct vertex_info *vinfo;
|
||||||
unsigned i, dst_offset;
|
unsigned i, dst_offset;
|
||||||
struct translate_key key;
|
struct translate_key key;
|
||||||
|
|
||||||
unsigned gs_out_prim = (draw->gs.geometry_shader ?
|
unsigned gs_out_prim = (draw->gs.geometry_shader ?
|
||||||
draw->gs.geometry_shader->output_primitive :
|
draw->gs.geometry_shader->output_primitive :
|
||||||
prim);
|
prim);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
draw->render->set_primitive(draw->render, gs_out_prim);
|
draw->render->set_primitive(draw->render, gs_out_prim);
|
||||||
|
|
||||||
/* Must do this after set_primitive() above:
|
/* Must do this after set_primitive() above:
|
||||||
*/
|
*/
|
||||||
vinfo = feme->vinfo = draw->render->get_vertex_info(draw->render);
|
vinfo = feme->vinfo = draw->render->get_vertex_info(draw->render);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Transform from API vertices to HW vertices, skipping the
|
/* Transform from API vertices to HW vertices, skipping the
|
||||||
* pipeline_vertex intermediate step.
|
* pipeline_vertex intermediate step.
|
||||||
*/
|
*/
|
||||||
|
@ -164,7 +157,6 @@ static void fetch_emit_prepare( struct draw_pt_middle_end *middle,
|
||||||
feme->translate = translate_cache_find(feme->cache,
|
feme->translate = translate_cache_find(feme->cache,
|
||||||
&key);
|
&key);
|
||||||
|
|
||||||
|
|
||||||
feme->translate->set_buffer(feme->translate,
|
feme->translate->set_buffer(feme->translate,
|
||||||
draw->pt.nr_vertex_buffers,
|
draw->pt.nr_vertex_buffers,
|
||||||
&feme->point_size,
|
&feme->point_size,
|
||||||
|
@ -188,9 +180,6 @@ static void fetch_emit_prepare( struct draw_pt_middle_end *middle,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void fetch_emit_run( struct draw_pt_middle_end *middle,
|
static void fetch_emit_run( struct draw_pt_middle_end *middle,
|
||||||
const unsigned *fetch_elts,
|
const unsigned *fetch_elts,
|
||||||
unsigned fetch_count,
|
unsigned fetch_count,
|
||||||
|
@ -216,7 +205,6 @@ static void fetch_emit_run( struct draw_pt_middle_end *middle,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Single routine to fetch vertices and emit HW verts.
|
/* Single routine to fetch vertices and emit HW verts.
|
||||||
*/
|
*/
|
||||||
feme->translate->run_elts( feme->translate,
|
feme->translate->run_elts( feme->translate,
|
||||||
|
@ -358,13 +346,12 @@ static boolean fetch_emit_run_linear_elts( struct draw_pt_middle_end *middle,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void fetch_emit_finish( struct draw_pt_middle_end *middle )
|
static void fetch_emit_finish( struct draw_pt_middle_end *middle )
|
||||||
{
|
{
|
||||||
/* nothing to do */
|
/* nothing to do */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void fetch_emit_destroy( struct draw_pt_middle_end *middle )
|
static void fetch_emit_destroy( struct draw_pt_middle_end *middle )
|
||||||
{
|
{
|
||||||
struct fetch_emit_middle_end *feme = (struct fetch_emit_middle_end *)middle;
|
struct fetch_emit_middle_end *feme = (struct fetch_emit_middle_end *)middle;
|
||||||
|
|
|
@ -50,7 +50,6 @@ struct fetch_shade_emit {
|
||||||
struct draw_pt_middle_end base;
|
struct draw_pt_middle_end base;
|
||||||
struct draw_context *draw;
|
struct draw_context *draw;
|
||||||
|
|
||||||
|
|
||||||
/* Temporaries:
|
/* Temporaries:
|
||||||
*/
|
*/
|
||||||
const float *constants;
|
const float *constants;
|
||||||
|
@ -61,16 +60,16 @@ struct fetch_shade_emit {
|
||||||
struct draw_vs_variant_key key;
|
struct draw_vs_variant_key key;
|
||||||
struct draw_vs_variant *active;
|
struct draw_vs_variant *active;
|
||||||
|
|
||||||
|
|
||||||
const struct vertex_info *vinfo;
|
const struct vertex_info *vinfo;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void fse_prepare( struct draw_pt_middle_end *middle,
|
static void
|
||||||
unsigned prim,
|
fse_prepare(struct draw_pt_middle_end *middle,
|
||||||
unsigned opt,
|
unsigned prim,
|
||||||
unsigned *max_vertices )
|
unsigned opt,
|
||||||
|
unsigned *max_vertices)
|
||||||
{
|
{
|
||||||
struct fetch_shade_emit *fse = (struct fetch_shade_emit *)middle;
|
struct fetch_shade_emit *fse = (struct fetch_shade_emit *)middle;
|
||||||
struct draw_context *draw = fse->draw;
|
struct draw_context *draw = fse->draw;
|
||||||
|
@ -89,7 +88,6 @@ static void fse_prepare( struct draw_pt_middle_end *middle,
|
||||||
*/
|
*/
|
||||||
fse->vinfo = vinfo = draw->render->get_vertex_info(draw->render);
|
fse->vinfo = vinfo = draw->render->get_vertex_info(draw->render);
|
||||||
|
|
||||||
|
|
||||||
fse->key.output_stride = vinfo->size * 4;
|
fse->key.output_stride = vinfo->size * 4;
|
||||||
fse->key.nr_outputs = vinfo->num_attribs;
|
fse->key.nr_outputs = vinfo->num_attribs;
|
||||||
fse->key.nr_inputs = num_vs_inputs;
|
fse->key.nr_inputs = num_vs_inputs;
|
||||||
|
@ -145,7 +143,6 @@ static void fse_prepare( struct draw_pt_middle_end *middle,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fse->active = draw_vs_lookup_variant( draw->vs.vertex_shader,
|
fse->active = draw_vs_lookup_variant( draw->vs.vertex_shader,
|
||||||
&fse->key );
|
&fse->key );
|
||||||
|
|
||||||
|
@ -182,10 +179,11 @@ static void fse_prepare( struct draw_pt_middle_end *middle,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void fse_run_linear( struct draw_pt_middle_end *middle,
|
static void
|
||||||
unsigned start,
|
fse_run_linear(struct draw_pt_middle_end *middle,
|
||||||
unsigned count,
|
unsigned start,
|
||||||
unsigned prim_flags )
|
unsigned count,
|
||||||
|
unsigned prim_flags)
|
||||||
{
|
{
|
||||||
struct fetch_shade_emit *fse = (struct fetch_shade_emit *)middle;
|
struct fetch_shade_emit *fse = (struct fetch_shade_emit *)middle;
|
||||||
struct draw_context *draw = fse->draw;
|
struct draw_context *draw = fse->draw;
|
||||||
|
@ -212,7 +210,6 @@ static void fse_run_linear( struct draw_pt_middle_end *middle,
|
||||||
start, count,
|
start, count,
|
||||||
hw_verts );
|
hw_verts );
|
||||||
|
|
||||||
|
|
||||||
if (0) {
|
if (0) {
|
||||||
unsigned i;
|
unsigned i;
|
||||||
for (i = 0; i < count; i++) {
|
for (i = 0; i < count; i++) {
|
||||||
|
@ -234,7 +231,6 @@ static void fse_run_linear( struct draw_pt_middle_end *middle,
|
||||||
0,
|
0,
|
||||||
count );
|
count );
|
||||||
|
|
||||||
|
|
||||||
draw->render->release_vertices( draw->render );
|
draw->render->release_vertices( draw->render );
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@ -270,7 +266,6 @@ fse_run(struct draw_pt_middle_end *middle,
|
||||||
if (!hw_verts)
|
if (!hw_verts)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
|
||||||
/* Single routine to fetch vertices, run shader and emit HW verts.
|
/* Single routine to fetch vertices, run shader and emit HW verts.
|
||||||
*/
|
*/
|
||||||
fse->active->run_elts( fse->active,
|
fse->active->run_elts( fse->active,
|
||||||
|
@ -278,7 +273,6 @@ fse_run(struct draw_pt_middle_end *middle,
|
||||||
fetch_count,
|
fetch_count,
|
||||||
hw_verts );
|
hw_verts );
|
||||||
|
|
||||||
|
|
||||||
if (0) {
|
if (0) {
|
||||||
unsigned i;
|
unsigned i;
|
||||||
for (i = 0; i < fetch_count; i++) {
|
for (i = 0; i < fetch_count; i++) {
|
||||||
|
@ -295,7 +289,6 @@ fse_run(struct draw_pt_middle_end *middle,
|
||||||
draw_elts,
|
draw_elts,
|
||||||
draw_count );
|
draw_count );
|
||||||
|
|
||||||
|
|
||||||
draw->render->release_vertices( draw->render );
|
draw->render->release_vertices( draw->render );
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -306,12 +299,13 @@ fail:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static boolean fse_run_linear_elts( struct draw_pt_middle_end *middle,
|
static boolean
|
||||||
unsigned start,
|
fse_run_linear_elts(struct draw_pt_middle_end *middle,
|
||||||
unsigned count,
|
unsigned start,
|
||||||
const ushort *draw_elts,
|
unsigned count,
|
||||||
unsigned draw_count,
|
const ushort *draw_elts,
|
||||||
unsigned prim_flags )
|
unsigned draw_count,
|
||||||
|
unsigned prim_flags)
|
||||||
{
|
{
|
||||||
struct fetch_shade_emit *fse = (struct fetch_shade_emit *)middle;
|
struct fetch_shade_emit *fse = (struct fetch_shade_emit *)middle;
|
||||||
struct draw_context *draw = fse->draw;
|
struct draw_context *draw = fse->draw;
|
||||||
|
@ -338,12 +332,10 @@ static boolean fse_run_linear_elts( struct draw_pt_middle_end *middle,
|
||||||
start, count,
|
start, count,
|
||||||
hw_verts );
|
hw_verts );
|
||||||
|
|
||||||
|
|
||||||
draw->render->draw_elements( draw->render,
|
draw->render->draw_elements( draw->render,
|
||||||
draw_elts,
|
draw_elts,
|
||||||
draw_count );
|
draw_count );
|
||||||
|
|
||||||
|
|
||||||
draw->render->unmap_vertices( draw->render, 0, (ushort)(count - 1) );
|
draw->render->unmap_vertices( draw->render, 0, (ushort)(count - 1) );
|
||||||
|
|
||||||
draw->render->release_vertices( draw->render );
|
draw->render->release_vertices( draw->render );
|
||||||
|
@ -353,18 +345,21 @@ static boolean fse_run_linear_elts( struct draw_pt_middle_end *middle,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static void fse_finish( struct draw_pt_middle_end *middle )
|
static void
|
||||||
|
fse_finish(struct draw_pt_middle_end *middle)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
fse_destroy( struct draw_pt_middle_end *middle )
|
fse_destroy(struct draw_pt_middle_end *middle)
|
||||||
{
|
{
|
||||||
FREE(middle);
|
FREE(middle);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct draw_pt_middle_end *draw_pt_middle_fse( struct draw_context *draw )
|
|
||||||
|
struct draw_pt_middle_end *
|
||||||
|
draw_pt_middle_fse(struct draw_context *draw)
|
||||||
{
|
{
|
||||||
struct fetch_shade_emit *fse = CALLOC_STRUCT(fetch_shade_emit);
|
struct fetch_shade_emit *fse = CALLOC_STRUCT(fetch_shade_emit);
|
||||||
if (!fse)
|
if (!fse)
|
||||||
|
|
Loading…
Reference in New Issue