summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast
Commit message (Collapse)AuthorAgeFilesLines
* swrast: fix multiple color buffer writingBrian Paul2015-02-191-11/+14
| | | | | | | | | | If a fragment program wrote to more than one color buffer, the first fragment color got replicated to all dest buffers. This fixes 5 piglit FBO tests, including fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=45348 Cc: "10.4, 10.5" <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* swrast: Whitespace fixes.Laura Ekstrand2015-02-023-12/+12
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* DD: Refactor BlitFramebuffer.Laura Ekstrand2015-02-023-27/+35
| | | | | | | | | In preparation for glBlitNamedFramebuffer, the DD table function BlitFramebuffer needs to accept two arbitrary framebuffer objects rather than assuming ctx->ReadBuffer and ctx->DrawBuffer. Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: support GL_RGB for GL_EXT_texture_type_2_10_10_10_REVTapani Pälli2015-01-191-0/+2
| | | | | | | | | | | | | | | | | Commit 8ec6534 changed texture upload path and the way how texture format is being checked, this commit adds support for GL_RGB with GL_UNSIGNED_INT_2_10_10_10_REV as specified by the extension EXT_texture_type_2_10_10_10_REV specification. This fixes regression in ES3 conformance test ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels v2: add MESA_FORMAT_R10G10B10X2_UNORM format (Iago Toral) Signed-off-by: Tapani Pälli <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=88385 Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]>
* mesa: rename RGBA8888_* format constants to something appropriate.Iago Toral Quiroga2015-01-141-1/+1
| | | | | | | | The 8888 suggests 8-bit components which is not correct, so replace that with the actual size of the components in each format. Reviewed-by: Jason Ekstrand <[email protected]>
* mesa: restrict use of GL_ABGR_EXT format to allowed data typesSamuel Iglesias Gonsalvez2015-01-121-4/+0
| | | | | | | | | | | | | GL_UNSIGNED_SHORT_5_5_5_1, GL_UNSIGNED_SHORT_1_5_5_5_REV, GL_UNSIGNED_INT_10_10_10_2, GL_UNSIGNED_INT_2_10_10_10_REV data types are not explicitly allowed to work with GL_ABGR_EXT format neither in GL nor GL_EXT_abgr specs. Removed the corresponding mesa formats as there are no other functions using them inside Mesa anymore. Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* swrast: Use _mesa_format_convert to implement draw_rgba_pixels.Iago Toral Quiroga2015-01-121-4/+34
| | | | | | | This is the only place that uses _mesa_unpack_color_span_float so after this we should be able to remove that function. Reviewed-by: Jason Ekstrand <[email protected]>
* mesa: use format conversion functions in swrastSamuel Iglesias Gonsalvez2015-01-121-1237/+122
| | | | | | | | This commit adds a macro to facilitate the task of using format conversions functions but keeps the same API. Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* mesa/formats: add new mesa formats and their pack/unpack functions.Samuel Iglesias Gonsalvez2015-01-121-0/+13
| | | | | | | | | | | | | This will be used to refactor code in pack.c and support conversion to/from these types in a master convert function that will be added later. v2: - Fix autogeneration of MESA_FORMAT_A2R10G10B10_UNORM pack/unpack functions Signed-off-by: Samuel Iglesias Gonsalvez <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* swrast: Remove unused variable.Iago Toral Quiroga2015-01-121-3/+0
| | | | | Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* mesa: Fix A1R5G5B5 packing/unpackingJason Ekstrand2015-01-121-4/+4
| | | | | | | | As with B5G6R5, these have been left broken with comments saying they are. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Fix packing/unpacking of MESA_FORMAT_R5G6B5_UNORMJason Ekstrand2015-01-121-4/+4
| | | | | | | | | | | | | | Aparently, the packing/unpacking functions for these formats have differed from the format description in formats.h. Instead of fixing this, people simply left a comment saying it was broken. Let's actually fix it for real. v2 by Samuel Iglesias <[email protected]>: - Fix comment in formats.h Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
* mesa: create, use new _mesa_texture_base_format() functionBrian Paul2015-01-051-1/+1
| | | | Reviewed-by: Eric Anholt <[email protected]>
* swrast: use new _mesa_base_tex_image() helperBrian Paul2015-01-056-42/+47
| | | | Reviewed-by: Eric Anholt <[email protected]>
* swrast: Remove 'inline' from tex filter functions.Matt Turner2014-12-081-26/+26
| | | | | | | | | | Reduces .text size of mesa_dri_drivers.so (i965-only) by 62k, or 1.4%. Note that we don't remove inline from lerp_2d(), which has a comment above it saying it definitely should be inlined. Though, removing the inline keyword from it doesn't actually change the compiled code for me. Reviewed-by: Brian Paul <[email protected]>
* mesa: Add MESA_FORMAT_{A8R8G8B8, X8R8G8B8, X8B8G8R8}_SRGB (v2)Richard Sandiford2014-09-172-0/+27
| | | | | | | | | | | | This means that each 8888 SRGB format has a reversed counterpart, which is necessary for handling big-endian mesa<->gallium mappings. v2: fix missing i965 additions. (Jason) fix 127->255 max alpha for SRGB formats. (Jason) v1: Reviewed-by: Jason Ekstrand <[email protected]> Signed-off-by: Richard Sandiford <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* mesa: Add MESA_FORMAT_A8L8_{SNORM,SRGB}Richard Sandiford2014-09-172-0/+26
| | | | | | | | | | | | | The associated UNORM format already existed. This means that each LnAn format has a reversed counterpart, which is necessary for handling big-endian mesa<->gallium mappings. [airlied: rebased onto current master] Signed-off-by: Richard Sandiford <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* swrast: Fix handling of MESA_FORMAT_L8A8_SRGB for big-endianRichard Sandiford2014-09-171-3/+3
| | | | | | | | | | | | Luminance is the least-significant byte of the uint16, rather than the lowest byte in memory. Other parts of mesa already handle this correctly for big-endian, and swrast already handles other MESA_FORMAT_x8y8 formats correctly. This case was just an odd-one-out. Signed-off-by: Richard Sandiford <[email protected]> Reviewed-by: Brian Paul <[email protected]> Cc: <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* swrast: s/INLINE/inline/Brian Paul2014-09-041-1/+1
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Add the format enums for BPTC-compressed imagesNeil Roberts2014-08-121-0/+24
| | | | | | | | | | | | | | | | | | This adds the following four Mesa image format enums which correspond to the four BPTC compressed texture formats: MESA_FORMAT_BPTC_RGBA_UNORM MESA_FORMAT_BPTC_SRGB_ALPHA_UNORM MESA_FORMAT_BPTC_RGB_SIGNED_FLOAT MESA_FORMAT_BPTC_RGB_UNSIGNED_FLOAT It also updates the format information functions to handle these and the corresponding GL enums. v2: Also modify _mesa_get_format_color_encoding, _mesa_get_srgb_format_linear and _mesa_get_uncompressed_format Reviewed-by: Ian Romanick <[email protected]>
* mesa/main: Use the RGB <-> sRGB conversion functions in libmesautilJason Ekstrand2014-08-042-46/+18
| | | | | Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* Remove the ATI_envmap_bumpmap extensionJason Ekstrand2014-06-303-93/+1
| | | | | | | | | | | As far as I can tell, the Intel mesa driver is the only driver in the world still supporting this legacy extension. If someone wants to do bump mapping, they can use shaders. Signed-off-by: Jason Ekstrand <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> [v1] Reviewed-by: Chris Forbes <[email protected]> [v2] Reviewed-by: Ian Romanick <[email protected]> [v3]
* swrast: Remove unused solve_plane_recip().Matt Turner2014-06-171-14/+0
| | | | | | | Unused since commit 9e8a961d. Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* swrast: Drop remaining use of _ReallyEnabled.Eric Anholt2014-04-301-1/+1
| | | | | | | | The _MaxEnabledTexImageUnit check assures us that Unit[0].Current != NULL. This is the last consumer of _ReallyEnabled outside of the radeons. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Replace use of _ReallyEnabled as a boolean with use of _Current.Eric Anholt2014-04-303-12/+10
| | | | | | | | | | | | | I'm probably not the only person that has tried to kill _ReallyEnabled. This does the mechanical part of the work, and cleans _ReallyEnabled from i965. I think that using _Current makes texture management clearer: You can't have multiple targets in use in the same texture image unit at the same time, because there's just that one pointer. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Drop _EnabledUnits.Eric Anholt2014-04-303-20/+15
| | | | | | | | | | | The field wasn't really valid, since we've got more than 32 units now. It turns out it was mostly just used for checking != 0, or checking for fixed function coordinates, though. v2: Fix mis-conversion in xm_line.c (caught by Ken). Reviewed-by: Matt Turner <[email protected]> (v1) Reviewed-by: Kenneth Graunke <[email protected]>
* swrast: Just use _EnabledCoordUnits for figuring out which texcoords to build.Eric Anholt2014-04-301-1/+1
| | | | | | | | | | | | | _EnabledUnits is all of the first 32 image units that are used by fixed function or programs, while _EnabledCoordUnits is just which fixed function fragment shader texcoords need to be generated. This is a theoretical bugfix in the case of a vertex shader texturing from large texture image unit number (we'd end up flagging something other than a VARYING_SLOT_TEXn as needing to be generated), but it's actually just motivated by trying to kill _EnabledUnits. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* swrast: move texture_slices() calls out of loopsBrian Paul2014-04-241-4/+8
| | | | Reviewed-by: José Fonseca <[email protected]>
* swrast: move null pointer check earlier in _swrast_map_teximage()Brian Paul2014-04-241-6/+9
| | | | | | | There's no reason to compute texel size, stride, etc. if there's no image data to map. Reviewed-by: José Fonseca <[email protected]>
* swrast: remove _mesa_ prefix from static functionBrian Paul2014-04-241-3/+3
| | | | | | And add a const qualifier. Reviewed-by: José Fonseca <[email protected]>
* swrast: allocate swrast_texture_image::ImageSlices array if neededBrian Paul2014-04-241-0/+10
| | | | | | | | | | | Fixes a segmentation fault in conform divzero.c test. This happens when glTexImage(level, width=0, height=0) is called. We don't allocate texture memory in that case so the ImageSlices array was never allocated. Cc: "10.1" <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* swrast: Add glBlitFramebuffer to commands affected by conditional renderingAnuj Phogat2014-04-171-0/+8
| | | | | | Cc: <[email protected]> Signed-off-by: Anuj Phogat <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* swrast: use macros to initialize texfetch_funcs[] tableBrian Paul2014-04-111-937/+172
| | | | Reviewed-by: Ian Romanick <[email protected]>
* swrast: fix more fetch_texel function namesBrian Paul2014-04-112-37/+37
| | | | | | | | | | These were missed/typo'd in the previous patch series: s/R8G8B8A/R8G8B8A8/ s/rgba_16/RGBA_UNORM16/ s/rgba_uint/RGBA_UINT/ s/rgba_int/RGBA_SINT/ Reviewed-by: Ian Romanick <[email protected]>
* swrast: Add support for fetching from MESA_FORMAT_R10G10B10A2_UNORMChris Forbes2014-04-102-3/+16
| | | | | | | | | | V4: Fix rebase conflicts with Brian's renaming of the texfetch functions. Signed-off-by: Chris Forbes <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Brian Paul <[email protected]> Acked-by: Eric Anholt <[email protected]>
* swrast: reindent s_texfetch_temp.h, remove trailing whitespaceBrian Paul2014-04-071-182/+261
| | | | Reviewed-by: Ian Romanick <[email protected]>
* swrast: remove out of date comments in s_texfetch_tmp.hBrian Paul2014-04-071-457/+10
| | | | | | | The comments were out of date and redundant (the functions are pretty much self-explanatory). Reviewed-by: Ian Romanick <[email protected]>
* swrast: rename texture fetch functions (pt. 7)Brian Paul2014-04-072-38/+38
| | | | | | | | | | | | | | sed commands: s/f_z24_s8/S8_UINT_Z24_UNORM/g s/f_s8_z24/Z24_UNORM_S8_UINT/g s/f_z16/Z_UNORM16/g s/f_z32/Z_UNORM32/g s/z32f_x24s8/Z32_FLOAT_S8X24_UINT/g s/f_ycbcr_rev/YCBCR_REV/g s/f_ycbcr/YCBCR/g s/dudv8/DUDV8/g Reviewed-by: Ian Romanick <[email protected]>
* swrast: rename texture fetch functions (pt. 6)Brian Paul2014-04-072-83/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | sed commands: s/rgb9_e5/R9G9B9E5_FLOAT/g s/r11_g11_b10f/R11G11B10_FLOAT/g s/f_alpha_f16/A_FLOAT16/g s/f_alpha_f32/A_FLOAT32/g s/f_luminance_f16/L_FLOAT16/g s/f_luminance_f32/L_FLOAT32/g s/f_luminance_alpha_f16/LA_FLOAT16/g s/f_luminance_alpha_f32/LA_FLOAT32/g s/f_intensity_f16/I_FLOAT16/g s/f_intensity_f32/I_FLOAT32/g s/f_r_f16/R_FLOAT16/g s/f_r_f32/R_FLOAT32/g s/f_rg_f16/RG_FLOAT16/g s/f_rg_f32/RG_FLOAT32/g s/f_rgb_f16/RGB_FLOAT16/g s/f_rgb_f32/RGB_FLOAT32/g s/f_rgba_f16/RGBA_FLOAT16/g s/f_rgba_f32/RGBA_FLOAT32/g s/xbgr16161616_float/RGBX_FLOAT16/g s/xbgr32323232_float/RGBX_FLOAT32/g Reviewed-by: Ian Romanick <[email protected]>
* swrast: rename texture fetch functions (pt. 5)Brian Paul2014-04-072-35/+35
| | | | | | | | | | | | | sed commands: s/srgba8/A8B8G8R8_SRGB/g s/sargb8/B8G8R8A8_SRGB/g s/sabgr8/R8G8B8A8_SRGB/g s/sxbgr8/R8G8B8X8_SRGB/g s/sla8/L8A8_SRGB/g s/sl8/L_SRGB8/g s/srgb8/BGR_SRGB8/g Reviewed-by: Ian Romanick <[email protected]>
* swrast: rename texture fetch functions (pt. 4)Brian Paul2014-04-072-56/+56
| | | | | | | | | | | | | | | | | | | | sed commands: s/signed_rg1616/R16G16_SNORM/g s/signed_rg88_rev/R8G8_SNORM/g s/signed_al88/L8A8_SNORM/g s/signed_a8/A_SNORM8/g s/signed_a16/A_SNORM16/g s/signed_l8/L_SNORM8/g s/signed_l16/L_SNORM16/g s/signed_i8/I_SNORM8/g s/signed_i16/I_SNORM16/g s/signed_r8/R_SNORM8/g s/signed_r16/R_SNORM16/g s/signed_al1616/LA_SNORM16/g s/signed_rgb_16/RGB_SNORM16/g s/signed_rgba_16/RGBA_SNORM16/g Reviewed-by: Ian Romanick <[email protected]>
* swrast: rename texture fetch functions (pt. 3)Brian Paul2014-04-072-56/+56
| | | | | | | | | | | | | | | | | | | | | | Rename functions to match format names. sed commands: s/f_rg1616_rev/G16R16_UNORM/g s/f_rg1616/R16G16_UNORM/g s/f_argb2101010/B10G10R10A2_UNORM/g s/f_a8/A_UNORM8/g s/f_a16/A_UNORM16/g s/f_i8/I_UNORM8/g s/f_i16/I_UNORM16/g s/f_r8/R_UNORM8/g s/f_r16/R_UNORM16/g s/f_rgb888/BGR_UNORM8/g s/f_bgr888/RGB_UNORM8/g s/f_l8/L_UNORM8/g s/f_l16/L_UNORM16/g s/xbgr16161616_unorm/RGBX_UNORM16/g Reviewed-by: Ian Romanick <[email protected]>
* swrast: rename texture fetch functions (pt. 2)Brian Paul2014-04-072-60/+60
| | | | | | | | | | | | | | | | | | | | | | Rename functions to match format names. sed commands: s/f_al1616_rev/A16L16_UNORM/g s/f_al1616/L16A16_UNORM/g s/f_rgb565_rev/R5G6B5_UNORM/g s/f_rgb565/B5G6R5_UNORM/g s/f_argb4444_rev/A4R4G4B4_UNORM/g s/f_argb4444/B4G4R4A4_UNORM/g s/f_rgba5551/A1B5G5R5_UNORM/g s/f_argb1555_rev/A1R5G5B5_UNORM/g s/f_al88_rev/A8L8_UNORM/g s/f_al88/L8A8_UNORM/g s/f_gr88/R8G8_UNORM/g s/f_rg88/G8R8_UNORM/g s/f_al44/L4A4_UNORM/g s/f_rgb332/B2G3R3_UNORM/g Reviewed-by: Ian Romanick <[email protected]>
* swrast: rename texture fetch functions (pt. 1)Brian Paul2014-04-072-44/+44
| | | | | | | | | | | | | | | | | | | Rename functions to match format names. sed commands: s/signed_rgba8888_rev/R8G8B8A8_SNORM/g s/signed_rgba8888/A8B8G8R8_SNORM/g s/f_rgba8888_rev/R8G8B8A_UNORM/g s/f_rgba8888/A8B8G8R8_UNORM/g s/f_rgbx8888_rev/R8G8B8X8_UNORM/g s/f_rgbx8888/X8B8G8R8_UNORM/g s/f_argb8888_rev/A8R8G8B8_UNORM/g s/f_argb8888/B8G8R8A8_UNORM/g s/f_xrgb8888_rev/X8R8G8B8_UNORM/g s/f_xrgb8888/B8G8R8X8_UNORM/g s/signed_rgbx8888/X8B8G8R8_SNORM/g Reviewed-by: Ian Romanick <[email protected]>
* mesa/sso: rename Shader to the pointer _ShaderGregory Hainaut2014-03-251-1/+1
| | | | | | | | | | | | | | | | Basically a sed but shaderapi.c and get.c. get.c => GL_CURRENT_PROGAM always refer to the "old" UseProgram behavior shaderapi.c => the old api stil update the Shader object directly V2: formatting improvement V3 (idr): * Rebase fixes after a block of code was moved from ir_to_mesa.cpp to shaderapi.c. * Trivial reformatting. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: rename MESA_FORMAT_X8Z24_UNORM -> MESA_FORMAT_X8_UINT_Z24_UNORMBrian Paul2014-03-103-4/+4
| | | | | | | To follow the example of MESA_FORMAT_Z24_UNORM_X8_UINT. Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: reorder MESA_FORMAT enumsBrian Paul2014-03-102-521/+523
| | | | | | | | | The MESA_FORMAT_x enums in formats.h weren't declared in any sort of reasonable order. Now it should be a little more logical. This also required reordering tables in formats.c and s_texfetch.c Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Eric Anholt <[email protected]>
* mesa: add MESA_FORMAT_R8G8B8A8_SRGBBrian Paul2014-03-062-0/+19
| | | | | | | | To match PIPE_FORMAT_R8G8B8A8_SRGB. v2: fix component name copy&paste bugs Reviewed-by: José Fonseca <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* mesa: add MESA_FORMAT_B8G8R8X8_SRGBChia-I Wu2014-03-061-0/+6
| | | | | | | The format is needed to represent an RGB-only winsys framebuffer that is sRGB-capable. Reviewed-by: Brian Paul <[email protected]>
* mesa: fix packing/unpacking for MESA_FORMAT_A4R4G4B4_UNORMBrian Paul2014-03-051-4/+4
| | | | | | | | | Spotted by Chia-I Wu. v2: also fix unpack_ubyte_ARGB4444_REV() Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Chia-I Wu <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>