st/mesa: move st_init_driver_flags() earlier in file
To get rid of forward declaration. Reviewed-By: Gert Wollny <gw.fossdev@gmail.com>
This commit is contained in:
@@ -286,7 +286,68 @@ st_destroy_context_priv(struct st_context *st, bool destroy_pipe)
|
||||
free( st );
|
||||
}
|
||||
|
||||
static void st_init_driver_flags(struct st_context *st);
|
||||
|
||||
static void st_init_driver_flags(struct st_context *st)
|
||||
{
|
||||
struct gl_driver_flags *f = &st->ctx->DriverFlags;
|
||||
|
||||
f->NewArray = ST_NEW_VERTEX_ARRAYS;
|
||||
f->NewRasterizerDiscard = ST_NEW_RASTERIZER;
|
||||
f->NewTileRasterOrder = ST_NEW_RASTERIZER;
|
||||
f->NewUniformBuffer = ST_NEW_UNIFORM_BUFFER;
|
||||
f->NewDefaultTessLevels = ST_NEW_TESS_STATE;
|
||||
|
||||
/* Shader resources */
|
||||
f->NewTextureBuffer = ST_NEW_SAMPLER_VIEWS;
|
||||
if (st->has_hw_atomics)
|
||||
f->NewAtomicBuffer = ST_NEW_HW_ATOMICS;
|
||||
else
|
||||
f->NewAtomicBuffer = ST_NEW_ATOMIC_BUFFER;
|
||||
f->NewShaderStorageBuffer = ST_NEW_STORAGE_BUFFER;
|
||||
f->NewImageUnits = ST_NEW_IMAGE_UNITS;
|
||||
|
||||
f->NewShaderConstants[MESA_SHADER_VERTEX] = ST_NEW_VS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_TESS_CTRL] = ST_NEW_TCS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_TESS_EVAL] = ST_NEW_TES_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_GEOMETRY] = ST_NEW_GS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_FRAGMENT] = ST_NEW_FS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_COMPUTE] = ST_NEW_CS_CONSTANTS;
|
||||
|
||||
f->NewWindowRectangles = ST_NEW_WINDOW_RECTANGLES;
|
||||
f->NewFramebufferSRGB = ST_NEW_FB_STATE;
|
||||
f->NewScissorRect = ST_NEW_SCISSOR;
|
||||
f->NewScissorTest = ST_NEW_SCISSOR | ST_NEW_RASTERIZER;
|
||||
f->NewAlphaTest = ST_NEW_DSA;
|
||||
f->NewBlend = ST_NEW_BLEND;
|
||||
f->NewBlendColor = ST_NEW_BLEND_COLOR;
|
||||
f->NewColorMask = ST_NEW_BLEND;
|
||||
f->NewDepth = ST_NEW_DSA;
|
||||
f->NewLogicOp = ST_NEW_BLEND;
|
||||
f->NewStencil = ST_NEW_DSA;
|
||||
f->NewMultisampleEnable = ST_NEW_BLEND | ST_NEW_RASTERIZER |
|
||||
ST_NEW_SAMPLE_MASK | ST_NEW_SAMPLE_SHADING;
|
||||
f->NewSampleAlphaToXEnable = ST_NEW_BLEND;
|
||||
f->NewSampleMask = ST_NEW_SAMPLE_MASK;
|
||||
f->NewSampleShading = ST_NEW_SAMPLE_SHADING;
|
||||
|
||||
/* This depends on what the gallium driver wants. */
|
||||
if (st->force_persample_in_shader) {
|
||||
f->NewMultisampleEnable |= ST_NEW_FS_STATE;
|
||||
f->NewSampleShading |= ST_NEW_FS_STATE;
|
||||
} else {
|
||||
f->NewSampleShading |= ST_NEW_RASTERIZER;
|
||||
}
|
||||
|
||||
f->NewClipControl = ST_NEW_VIEWPORT | ST_NEW_RASTERIZER;
|
||||
f->NewClipPlane = ST_NEW_CLIP_STATE;
|
||||
f->NewClipPlaneEnable = ST_NEW_RASTERIZER;
|
||||
f->NewDepthClamp = ST_NEW_RASTERIZER;
|
||||
f->NewLineState = ST_NEW_RASTERIZER;
|
||||
f->NewPolygonState = ST_NEW_RASTERIZER;
|
||||
f->NewPolygonStipple = ST_NEW_POLY_STIPPLE;
|
||||
f->NewViewport = ST_NEW_VIEWPORT;
|
||||
}
|
||||
|
||||
|
||||
static struct st_context *
|
||||
st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe,
|
||||
@@ -489,66 +550,6 @@ st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe,
|
||||
return st;
|
||||
}
|
||||
|
||||
static void st_init_driver_flags(struct st_context *st)
|
||||
{
|
||||
struct gl_driver_flags *f = &st->ctx->DriverFlags;
|
||||
|
||||
f->NewArray = ST_NEW_VERTEX_ARRAYS;
|
||||
f->NewRasterizerDiscard = ST_NEW_RASTERIZER;
|
||||
f->NewTileRasterOrder = ST_NEW_RASTERIZER;
|
||||
f->NewUniformBuffer = ST_NEW_UNIFORM_BUFFER;
|
||||
f->NewDefaultTessLevels = ST_NEW_TESS_STATE;
|
||||
|
||||
/* Shader resources */
|
||||
f->NewTextureBuffer = ST_NEW_SAMPLER_VIEWS;
|
||||
if (st->has_hw_atomics)
|
||||
f->NewAtomicBuffer = ST_NEW_HW_ATOMICS;
|
||||
else
|
||||
f->NewAtomicBuffer = ST_NEW_ATOMIC_BUFFER;
|
||||
f->NewShaderStorageBuffer = ST_NEW_STORAGE_BUFFER;
|
||||
f->NewImageUnits = ST_NEW_IMAGE_UNITS;
|
||||
|
||||
f->NewShaderConstants[MESA_SHADER_VERTEX] = ST_NEW_VS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_TESS_CTRL] = ST_NEW_TCS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_TESS_EVAL] = ST_NEW_TES_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_GEOMETRY] = ST_NEW_GS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_FRAGMENT] = ST_NEW_FS_CONSTANTS;
|
||||
f->NewShaderConstants[MESA_SHADER_COMPUTE] = ST_NEW_CS_CONSTANTS;
|
||||
|
||||
f->NewWindowRectangles = ST_NEW_WINDOW_RECTANGLES;
|
||||
f->NewFramebufferSRGB = ST_NEW_FB_STATE;
|
||||
f->NewScissorRect = ST_NEW_SCISSOR;
|
||||
f->NewScissorTest = ST_NEW_SCISSOR | ST_NEW_RASTERIZER;
|
||||
f->NewAlphaTest = ST_NEW_DSA;
|
||||
f->NewBlend = ST_NEW_BLEND;
|
||||
f->NewBlendColor = ST_NEW_BLEND_COLOR;
|
||||
f->NewColorMask = ST_NEW_BLEND;
|
||||
f->NewDepth = ST_NEW_DSA;
|
||||
f->NewLogicOp = ST_NEW_BLEND;
|
||||
f->NewStencil = ST_NEW_DSA;
|
||||
f->NewMultisampleEnable = ST_NEW_BLEND | ST_NEW_RASTERIZER |
|
||||
ST_NEW_SAMPLE_MASK | ST_NEW_SAMPLE_SHADING;
|
||||
f->NewSampleAlphaToXEnable = ST_NEW_BLEND;
|
||||
f->NewSampleMask = ST_NEW_SAMPLE_MASK;
|
||||
f->NewSampleShading = ST_NEW_SAMPLE_SHADING;
|
||||
|
||||
/* This depends on what the gallium driver wants. */
|
||||
if (st->force_persample_in_shader) {
|
||||
f->NewMultisampleEnable |= ST_NEW_FS_STATE;
|
||||
f->NewSampleShading |= ST_NEW_FS_STATE;
|
||||
} else {
|
||||
f->NewSampleShading |= ST_NEW_RASTERIZER;
|
||||
}
|
||||
|
||||
f->NewClipControl = ST_NEW_VIEWPORT | ST_NEW_RASTERIZER;
|
||||
f->NewClipPlane = ST_NEW_CLIP_STATE;
|
||||
f->NewClipPlaneEnable = ST_NEW_RASTERIZER;
|
||||
f->NewDepthClamp = ST_NEW_RASTERIZER;
|
||||
f->NewLineState = ST_NEW_RASTERIZER;
|
||||
f->NewPolygonState = ST_NEW_RASTERIZER;
|
||||
f->NewPolygonStipple = ST_NEW_POLY_STIPPLE;
|
||||
f->NewViewport = ST_NEW_VIEWPORT;
|
||||
}
|
||||
|
||||
struct st_context *st_create_context(gl_api api, struct pipe_context *pipe,
|
||||
const struct gl_config *visual,
|
||||
|
||||
Reference in New Issue
Block a user