mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-06 04:30:10 +01:00
i965: Move get_hw_prim_for_gl_prim to brw_util.c
It's used by brw_compile_gs in brw_vec4_gs_visitor.cpp so it needs to be in a file that's linked into libi965_compiler.la. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
This commit is contained in:
parent
3393358115
commit
061969f9dd
2 changed files with 28 additions and 29 deletions
|
|
@ -54,23 +54,6 @@
|
|||
|
||||
#define FILE_DEBUG_FLAG DEBUG_PRIMS
|
||||
|
||||
static const GLuint prim_to_hw_prim[GL_TRIANGLE_STRIP_ADJACENCY+1] = {
|
||||
[GL_POINTS] =_3DPRIM_POINTLIST,
|
||||
[GL_LINES] = _3DPRIM_LINELIST,
|
||||
[GL_LINE_LOOP] = _3DPRIM_LINELOOP,
|
||||
[GL_LINE_STRIP] = _3DPRIM_LINESTRIP,
|
||||
[GL_TRIANGLES] = _3DPRIM_TRILIST,
|
||||
[GL_TRIANGLE_STRIP] = _3DPRIM_TRISTRIP,
|
||||
[GL_TRIANGLE_FAN] = _3DPRIM_TRIFAN,
|
||||
[GL_QUADS] = _3DPRIM_QUADLIST,
|
||||
[GL_QUAD_STRIP] = _3DPRIM_QUADSTRIP,
|
||||
[GL_POLYGON] = _3DPRIM_POLYGON,
|
||||
[GL_LINES_ADJACENCY] = _3DPRIM_LINELIST_ADJ,
|
||||
[GL_LINE_STRIP_ADJACENCY] = _3DPRIM_LINESTRIP_ADJ,
|
||||
[GL_TRIANGLES_ADJACENCY] = _3DPRIM_TRILIST_ADJ,
|
||||
[GL_TRIANGLE_STRIP_ADJACENCY] = _3DPRIM_TRISTRIP_ADJ,
|
||||
};
|
||||
|
||||
|
||||
static const GLenum reduced_prim[GL_POLYGON+1] = {
|
||||
[GL_POINTS] = GL_POINTS,
|
||||
|
|
@ -85,18 +68,6 @@ static const GLenum reduced_prim[GL_POLYGON+1] = {
|
|||
[GL_POLYGON] = GL_TRIANGLES
|
||||
};
|
||||
|
||||
uint32_t
|
||||
get_hw_prim_for_gl_prim(int mode)
|
||||
{
|
||||
if (mode >= BRW_PRIM_OFFSET)
|
||||
return mode - BRW_PRIM_OFFSET;
|
||||
else {
|
||||
assert(mode < ARRAY_SIZE(prim_to_hw_prim));
|
||||
return prim_to_hw_prim[mode];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* When the primitive changes, set a state bit and re-validate. Not
|
||||
* the nicest and would rather deal with this by having all the
|
||||
* programs be immune to the active primitive (ie. cope with all
|
||||
|
|
|
|||
|
|
@ -98,3 +98,31 @@ GLuint brw_translate_blend_factor( GLenum factor )
|
|||
unreachable("not reached");
|
||||
}
|
||||
}
|
||||
|
||||
static const GLuint prim_to_hw_prim[GL_TRIANGLE_STRIP_ADJACENCY+1] = {
|
||||
[GL_POINTS] =_3DPRIM_POINTLIST,
|
||||
[GL_LINES] = _3DPRIM_LINELIST,
|
||||
[GL_LINE_LOOP] = _3DPRIM_LINELOOP,
|
||||
[GL_LINE_STRIP] = _3DPRIM_LINESTRIP,
|
||||
[GL_TRIANGLES] = _3DPRIM_TRILIST,
|
||||
[GL_TRIANGLE_STRIP] = _3DPRIM_TRISTRIP,
|
||||
[GL_TRIANGLE_FAN] = _3DPRIM_TRIFAN,
|
||||
[GL_QUADS] = _3DPRIM_QUADLIST,
|
||||
[GL_QUAD_STRIP] = _3DPRIM_QUADSTRIP,
|
||||
[GL_POLYGON] = _3DPRIM_POLYGON,
|
||||
[GL_LINES_ADJACENCY] = _3DPRIM_LINELIST_ADJ,
|
||||
[GL_LINE_STRIP_ADJACENCY] = _3DPRIM_LINESTRIP_ADJ,
|
||||
[GL_TRIANGLES_ADJACENCY] = _3DPRIM_TRILIST_ADJ,
|
||||
[GL_TRIANGLE_STRIP_ADJACENCY] = _3DPRIM_TRISTRIP_ADJ,
|
||||
};
|
||||
|
||||
uint32_t
|
||||
get_hw_prim_for_gl_prim(int mode)
|
||||
{
|
||||
if (mode >= BRW_PRIM_OFFSET)
|
||||
return mode - BRW_PRIM_OFFSET;
|
||||
else {
|
||||
assert(mode < ARRAY_SIZE(prim_to_hw_prim));
|
||||
return prim_to_hw_prim[mode];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue