summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Disallow deprecated SNORM formats for renderbuffersIan Romanick2013-01-041-18/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OpenGL 3.2 core profile spec says: "The following base internal formats from table 3.11 are color-renderable: RED, RG, RGB, and RGBA. The sized internal formats from table 3.12 that have a color-renderable base internal format are also color-renderable. No other formats, including compressed internal formats, are color-renderable." The OpenGL 3.2 compatibility profile spec says (only ALPHA is added): "The following base internal formats from table 3.16 are color-renderable: ALPHA, RED, RG, RGB, and RGBA. The sized internal formats from table 3.17 that have a color-renderable base internal format are also color-renderable. No other formats, including compressed internal formats, are color-renderable." Table 3.12 in the core profile spec and table 3.17 in the compatibility profile spec list SNORM formats as having a base internal format of RED, RG, RGB, or RGBA. From this we infer that they should also be color renderable. The OpenGL ES 3.0 spec says: "An internal format is color-renderable if it is one of the formats from table 3.12 noted as color-renderable or if it is unsized format RGBA or RGB. No other formats, including compressed internal formats, are color-renderable." In the OpenGL ES 3.0 spec, none of the SNORM formats have "color- renderable" marked in table 3.12. The RGB I and UI formats also are not color-renderable in ES3, but we'll save that change for another patch. Both NVIDIA's closed-source driver (version 304.64) and AMD's closed-source driver (Catalyst 12.6 on HD 3650) reject *all* SNORM formats for renderbuffers in OpenGL 3.3 compatibility profiles. v2: Move {RED,RG,RGB,RGBA}_SNORM changes from the this commit to the next commit. Based on suggestions from Ken. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* util: fix addressing bug in pipe_put_tile_z() for PIPE_FORMAT_Z32_FLOATBrian Paul2013-01-041-1/+1
| | | | | | The Z32 pixel is 4 bytes so multiply x by 4, not 2. Note: This is a candidate for the stable branches.
* util: add get/put_tile_z() support for PIPE_FORMAT_Z32_FLOAT_S8X24_UINTBrian Paul2013-01-041-0/+36
| | | | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=58972 Note: This is a candidate for the stable branches.
* gallivm: support more immediates in lp_build_tgsi_info()Brian Paul2013-01-041-1/+1
| | | | | | Bump limit from 32 to 128. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=58545
* xlib: allow GLX_DONT_CARE for glXChooseFBConfig() attribute valuesBrian Paul2013-01-041-0/+14
| | | | | | | | Fixes piglit glx-dont-care-mask test. Note: This is a candidate for the stable branches. Reviewed-by: Chad Versace <[email protected]>
* st/glx: allow GLX_DONT_CARE for glXChooseFBConfig() attribute valuesBrian Paul2013-01-041-0/+14
| | | | | | | | Fixes piglit glx-dont-care-mask test. Note: This is a candidate for the stable branches. Reviewed-by: Chad Versace <[email protected]>
* radeon/llvm: Remove backend code from MesaTom Stellard2013-01-0499-19168/+0
| | | | | | | | | | | | This code now lives in an external tree. For the next Mesa release fetch the code from the master branch of this LLVM repo: http://cgit.freedesktop.org/~tstellar/llvm/ For all subsequent Mesa releases, fetch the code from the official LLVM project: www.llvm.org
* Support LLVM >= 3.2 on radeonsi and opencl.Johannes Obermayr2013-01-042-14/+17
| | | | | | Tom Stellard: - Backend now has same name for all LLVM versions - Add missing LLVM_VERSION_INT definition
* clover: Fix build after the addition of enum pipe_flush_flagsTom Stellard2013-01-041-1/+1
| | | | Broken since commit 598cc1f74d7ae924e84dee801b456ab7b0b22f84
* r300g: don't check for vertex and index buffer bind flagsMarek Olšák2013-01-042-4/+2
|
* r300g/swtcl: use memcpy to emit indicesMarek Olšák2013-01-041-10/+11
|
* r300g/swtcl: simplify vertex uploadingMarek Olšák2013-01-045-88/+42
| | | | | | | | - skip the vertex buffer reallocation in flush and just use the unsynchronized flag to get new memory. - remove the cruft needed to get around the issues with the vertex buffer reallocation in flush - use pb_buffer instead of pipe_resource
* r300g/swtcl: fix crash when setting vertex buffersMarek Olšák2013-01-041-0/+3
| | | | Broken by e73bf3b805de78299f1a652668ba4e6eab9bac94.
* r300g: don't set PIPE_BIND flags for internal texturesMarek Olšák2013-01-042-21/+1
|
* i965: Fix glCompressedTexSubImage2D offsets for ETC textures.Paul Berry2013-01-041-0/+3
| | | | | | | | | | | This patch fixes intel_miptree_unmap_etc() (which decompresses ETC textures to linear) to pay attention to map->x and map->y when writing to the destination image. Previously these values were ignored, causing the xoffset and yoffset parameters passed to glCompressedTexSubImage2D() to be ignored. Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* egl/wayland: Remove kooky flush codeKristian Høgsberg2013-01-041-8/+0
| | | | | We used to have to jump through hoops to call glFlush at swap buffer time, but the flush extension made that unnecessary a long time ago.
* egl/wayland: Remove confusing comment about front buffer renderingKristian Høgsberg2013-01-041-10/+0
|
* egl_dri2: Remove unused struct dri2_egl_buffer from header fileKristian Høgsberg2013-01-041-5/+0
|
* egl: Add extension infrastructure for EGL_EXT_buffer_ageKristian Høgsberg2013-01-044-0/+16
|
* egl: Update to revision 19987 of eglext.hKristian Høgsberg2013-01-041-5/+67
| | | | This pulls in EGL_EXT_buffer_age.
* util: move var declaration before loop to fix MSVC errorBrian Paul2013-01-041-1/+2
|
* r600g: implement 3D transfersMarek Olšák2013-01-041-22/+32
| | | | That means we can map and read multiple slices with one transfer_map call.
* st/mesa: fix assertion failures with 2101010 vertex formatsMarek Olšák2013-01-041-3/+4
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: accelerate CopyTexSubImage for 1D array texturesMarek Olšák2013-01-041-26/+66
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: fix CopyTexSubImage fallback for 1D array texturesMarek Olšák2013-01-043-17/+42
| | | | | | | | - We should use a 3D transfer of size Width x 1 x NumLayers. - We should use layer_stride instead of stride. (even though they are likely to be equal with 1D array textures) Reviewed-by: Brian Paul <[email protected]>
* st/mesa: fix GetTexImage for compressed 2D array texturesMarek Olšák2013-01-042-23/+50
| | | | | | | This uses a 3D blit to decompress the texture and then a 3D transfer to read it. Reviewed-by: Brian Paul <[email protected]>
* gallium/util: remove unused helper util_create_rgba_textureMarek Olšák2013-01-042-61/+0
| | | | Reviewed-by: Brian Paul <[email protected]>
* st/mesa: try to find the format matching format+type in decompressed_with_blitMarek Olšák2013-01-041-19/+50
| | | | | | | | | | | | | | | There was the fast path based on _mesa_format_matches_format_and_type for GetTexImage, but it never worked, because the Mesa format we were testing there was always compressed. Further testing showed that the fast path had been completely broken. In this commit, the somewhat limited helper util_create_rgba_texture is no longer used and instead, custom code for the texture creation is added, which tries to find the best matching RGBA8 format, so that we can hit the fast path *always* if the read format is a variant of RGBA8 and supported by the driver. Reviewed-by: Brian Paul <[email protected]>
* st/mesa: fix GetTexImage for compressed cubemapsMarek Olšák2013-01-041-1/+1
| | | | | | I'll deal with 2D arrays later. NOTE: This is a candidate for the stable branches.
* gallium/u_blitter: implement 3D blittingMarek Olšák2013-01-042-30/+83
| | | | | | Scaling and flipping in the Z direction isn't allowed yet. Reviewed-by: Brian Paul <[email protected]>
* gallium/u_blitter: fix blitting TEXTURE_CUBE_ARRAY with a non-zero cube indexMarek Olšák2013-01-041-0/+5
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/u_blitter: minor simplificationMarek Olšák2013-01-041-10/+11
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/u_blitter: unify some parameters into a dstbox parameter in blit_genericMarek Olšák2013-01-044-29/+38
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/u_blitter: remove useless parameter from blitter_default_dst_textureMarek Olšák2013-01-044-9/+7
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/util: complete implementation of util_dump_transferMarek Olšák2013-01-041-4/+5
| | | | Reviewed-by: Brian Paul <[email protected]>
* mesa: allow TEXTURE_CUBE_MAP_ARRAY in GetTexImageMarek Olšák2013-01-041-0/+2
| | | | Reviewed-by: Brian Paul <[email protected]>
* gallium/radeon: send the END_OF_FRAME flag to the DRMMarek Olšák2013-01-045-5/+16
|
* gallium: extend pipe_context::flush for it to accept an END_OF_FRAME flagMarek Olšák2013-01-0463-81/+120
| | | | | | | | | | | | | | | | | Usage with pipe_context: pipe->flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME); Usage with st_context_iface: st->flush(st, ST_FLUSH_END_OF_FRAME, NULL); The flag is only a hint for drivers. Radeon will use it for buffer eviction heuristics in the kernel (e.g. for queries like how many frames have passed since a buffer was used). The flag is currently only generated by st/dri on SwapBuffers. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Stéphane Marchesin <[email protected]>
* radeonsi: fix int->bool conversion in fence_signalledMarek Olšák2013-01-041-1/+1
|
* r600g: fix int->bool conversion in fence_signalledMarek Olšák2013-01-041-1/+1
| | | | NOTE: This is a candidate for the stable branches.
* Add new .gitignore entries for Automake 1.13 testsPaul Berry2013-01-032-0/+3
| | | | | | | | | Automake 1.13 creates a bunch of new build artefacts: - bin/test-driver, a script for running tests. - *.trs files for every "make check" test result. - *.log files containing the output of every test run by "make check". Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Replace structs with bit-shifting for Gen7 SURFACE_STATE entries.Kenneth Graunke2013-01-036-360/+252
| | | | | | | | | | | | | | | | | Every generation except Gen7 creates SURFACE_STATE entries via a uint32_t array. Only Gen7 uses the older bitfield structure, which we moved away from because it was less efficient. Convert it for consistency. This reduces the compiled size of gen7_wm_surface_state.o by 2.86% in a release build. v2: Fix accidental use of BRW_SURFACE_WIDTH/HEIGHT in brw_state_dump.c; switch back to gen7_set_surface_mcs_info setting surf[6] directly (both per Eric's review comments). Acked-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* radeon/r200: Fix tcl cullingsmoki2013-01-032-18/+8
| | | | | Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=57842
* wayland: Don't cancel a roundtrip when any event is receivedJonas Ådahl2013-01-032-1/+7
| | | | | | | | | | | Since wl_display_dispatch_queue() returns the number of processed events or -1 on error, only cancel the roundtrip if an -1 is returned. This also fixes a potential memory corruption bug happening when the roundtrip does an early return and the callback later writes to the then out of scope stack allocated `done' parameter. Reviewed-by: Kristian Høgsberg <[email protected]>
* i965: Add break statement at end of BRW_OPCODE_CONTINUE case.Vinson Lee2013-01-021-0/+1
| | | | | | | | Fixes missing break in switch defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* egl/android: Fix build for Jelly Bean (v2)Chad Versace2013-01-022-0/+64
| | | | | | | | | | | | | In Jelly Bean, the interface to ANativeWindow changed. The change included adding a new parameter the queueBuffer and dequeueBuffer methods, removing the lockBuffer method, and requiring libsync. v2: - s/fence_fd == -1/fence_fd != -1/ - Fix leak. Close the fence_fd. Reviewed-by: Tapani Pälli <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* android: Define Make variables for Android versionChad Versace2013-01-022-3/+6
| | | | | | | | | | | | | | Define the following Make variables: MESA_ANDROID_MAJOR_VERSION MESA_ANDROID_MINOR_VERSION MESA_ANDROID_VERSION These variable will allow us to make version-dependent decisions on library dependencies. In particular, building Mesa against JellyBean will require libsync. Reviewed-by: Tapani Pälli <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* mesa: Add missing ASSERT_OUTSIDE_BEGIN_END to GetSamplerParameter*Matt Turner2013-01-021-0/+8
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Add missing ASSERT_OUTSIDE_BEGIN_END to SamplerParameter*Matt Turner2013-01-021-0/+8
| | | | | | | Commit f22d49de added the SamplerParamter* functions but only used ASSERT_OUTSIDE_BEGIN_END inside the -f and -fv versions. Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Mark _mesa_{init,delete}_sampler_object as staticMatt Turner2013-01-022-9/+2
| | | | Reviewed-by: Kenneth Graunke <[email protected]>