This fixes the sw fallback for GL_SELECT picking modes.
Fixes object picking blender + depthpick test
http://bugs.freedesktop.org/show_bug.cgi?id=26419
Signed-off-by: Dave Airlie <airlied@redhat.com>
implements if/else/endif constructs and lays down the code for looping
and others. we create a conditional execution mask which decides which
of the four inputs are enabled for any store. it's used only if an
execution mask is present, otherwise we go through a direct store.
DMA buffers are often remapped many times for singel cs. To reduce number of
mapping calls ending to kernel dma buffers are mapped when allocated and unmapped
when full or in cs flush. This makes indifual mapping calls in other parts of
code simple increment/decrement reference count which is faster than entering
kernel.
This improves Anholt's openarena benchmark from 36 fps to 44 fps.
- move out of of the dispatch/context block to after corresponding init functions
- use more consistent naming with corresponding init functions
- XXX use _glthread_InitTSD() vs (void)_glthread_GetTSD() in _glapi_check_multithread() XXX
Less confusing, and seems to gather more consensus.
Below are the sed commands used. This and following commits are the
result of applying this too to the whole tree, plus manual whitespaces
fixes.
s/\<PIPE_FORMAT_A8R8G8B8_UNORM\>/ASDGFSJKDGSDFGSJDFGREKT/g
s/\<PIPE_FORMAT_B8G8R8A8_UNORM\>/PIPE_FORMAT_A8R8G8B8_UNORM/g
s/\<ASDGFSJKDGSDFGSJDFGREKT\>/PIPE_FORMAT_B8G8R8A8_UNORM/g
s/\<PIPE_FORMAT_X8R8G8B8_UNORM\>/ASDGFSJKDGSDFGSJDFGREKT/g
s/\<PIPE_FORMAT_B8G8R8X8_UNORM\>/PIPE_FORMAT_X8R8G8B8_UNORM/g
s/\<ASDGFSJKDGSDFGSJDFGREKT\>/PIPE_FORMAT_B8G8R8X8_UNORM/g
s/\<PIPE_FORMAT_R8G8B8A8_UNORM_REV\>/PIPE_FORMAT_A8B8G8R8_UNORM/g
s/\<PIPE_FORMAT_R8G8B8X8_UNORM\>/PIPE_FORMAT_X8B8G8R8_UNORM/g
s/\<PIPE_FORMAT_A1R5G5B5_UNORM\>/PIPE_FORMAT_B5G5R5A1_UNORM/g
s/\<PIPE_FORMAT_A4R4G4B4_UNORM\>/PIPE_FORMAT_B4G4R4A4_UNORM/g
s/\<PIPE_FORMAT_R5G6B5_UNORM\>/PIPE_FORMAT_B5G6R5_UNORM/g
s/\<PIPE_FORMAT_A2B10G10R10_UNORM\>/PIPE_FORMAT_R10G10B10A2_UNORM/g
s/\<PIPE_FORMAT_A8L8_UNORM\>/PIPE_FORMAT_L8A8_UNORM/g
s/\<PIPE_FORMAT_A8L8_SRGB\>/PIPE_FORMAT_L8A8_SRGB/g
s/\<PIPE_FORMAT_R8G8B8A8_SRGB\>/PIPE_FORMAT_A8B8G8R8_SRGB/g
s/\<PIPE_FORMAT_R8G8B8X8_SRGB\>/PIPE_FORMAT_X8B8G8R8_SRGB/g
s/\<PIPE_FORMAT_A8R8G8B8_SRGB\>/ASDGFSJKDGSDFGSJDFGREKT/g
s/\<PIPE_FORMAT_B8G8R8A8_SRGB\>/PIPE_FORMAT_A8R8G8B8_SRGB/g
s/\<ASDGFSJKDGSDFGSJDFGREKT\>/PIPE_FORMAT_B8G8R8A8_SRGB/g
s/\<PIPE_FORMAT_X8R8G8B8_SRGB\>/ASDGFSJKDGSDFGSJDFGREKT/g
s/\<PIPE_FORMAT_B8G8R8X8_SRGB\>/PIPE_FORMAT_X8R8G8B8_SRGB/g
s/\<ASDGFSJKDGSDFGSJDFGREKT\>/PIPE_FORMAT_B8G8R8X8_SRGB/g
s/\<PIPE_FORMAT_A8B8G8R8_SNORM\>/PIPE_FORMAT_R8G8B8A8_SNORM/g
s/\<PIPE_FORMAT_X8B8G8R8_SNORM\>/PIPE_FORMAT_R8G8B8X8_SNORM/g
s/\<PIPE_FORMAT_X8UB8UG8SR8S_NORM\>/PIPE_FORMAT_R8SG8SB8UX8U_NORM/g
s/\<PIPE_FORMAT_B6UG5SR5S_NORM\>/PIPE_FORMAT_R5SG5SB6U_NORM/g
s/\<PIPE_FORMAT_S8Z24_UNORM\>/ASDGFSJKDGSDFGSJDFGREKT/g
s/\<PIPE_FORMAT_Z24S8_UNORM\>/PIPE_FORMAT_S8Z24_UNORM/g
s/\<ASDGFSJKDGSDFGSJDFGREKT\>/PIPE_FORMAT_Z24S8_UNORM/g
s/\<PIPE_FORMAT_X8Z24_UNORM\>/ASDGFSJKDGSDFGSJDFGREKT/g
s/\<PIPE_FORMAT_Z24X8_UNORM\>/PIPE_FORMAT_X8Z24_UNORM/g
s/\<ASDGFSJKDGSDFGSJDFGREKT\>/PIPE_FORMAT_Z24X8_UNORM/g
s/\<PIPE_FORMAT_YCBCR\>/PIPE_FORMAT_UYVY/g
s/\<PIPE_FORMAT_YCBCR_REV\>/PIPE_FORMAT_YUYV/g