summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* st/mesa: always assume separate depth and stencil clear is supportedMarek Olšák2013-01-152-97/+22
| | | | | | All drivers implement it now. Reviewed-by: Brian Paul <[email protected]>
* softpipe: implement separate depth-stencil clearMarek Olšák2013-01-151-3/+12
| | | | | | The CAP is going away. Reviewed-by: Brian Paul <[email protected]>
* libgl-xlib: softpipe and llvmpipe aren't mutually exclusive at link timeJon TURNEY2013-01-151-2/+1
| | | | | | | | | | | | | | Since automake changes, softpipe and llvmpipe are mutually exclusive at link time. This doesn't make much sense to me as we can choose between them at run-time using GALLIUM_DRIVER. Creating library file: .libs/libGL.dll.a .libs/xlib.o: In function `sw_screen_create_named': /jhbuild/checkout/mesa/mesa/src/gallium/targets/libgl-xlib/../../../../src/gallium/auxiliary/target-helpers/inline_sw_helper.h:35: undefined reference to `_softpipe_create_screen' Signed-off-by: Jon TURNEY <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* pack: handle GL_RGB+GL_UNSIGNED_INT_2_10_10_10_REV caseJordan Justen2013-01-141-2/+10
| | | | | | | | For floats, if GL_RGB is the source, then alpha should be set to 1.0F. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glformats: allow GL_RGB+GL_UNSIGNED_INT_2_10_10_10_REV for GLES2/3Jordan Justen2013-01-141-0/+8
| | | | | | | | This format is allowed by the GL_EXT_texture_type_2_10_10_10_REV extension. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* copyteximage: Use Driver's AllocTextureImageBuffer instead of TexImageJordan Justen2013-01-141-3/+1
| | | | | | | | | | | | | | | Call Driver.AllocTextureImageBuffer rather than calling Driver.TexImage with NULL data, format=GL_NONE and type=GL_NONE. This avoids setting ctx->Unpack, which can lead to incorrectly trying to upload data. The GLES3 GTF program's packed_pixels_pbo test was triggering an error for i965 with the previous code. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* copyteximage: update signed vs. unsigned format matchingJordan Justen2013-01-141-7/+25
| | | | | | | | Fixes issues with gles3-gtf Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* framebuffer: add _mesa_get_read_renderbufferJordan Justen2013-01-142-0/+26
| | | | | | | | | This returns the current read renderbuffer for the specified format type. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* teximage: use _mesa_es3_error_check_format_and_type for GLES3Matt Turner2013-01-141-6/+13
| | | | | Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glformats: add _mesa_es3_error_check_format_and_typeMatt Turner2013-01-142-0/+444
| | | | | | | | | This function checks for ES3 compatible format/type/internalFormat/dimension combinations. [[email protected]: additional tweaks for gles3-gtf] Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* fbobject: don't allow LUMINANCE/INTENSITY/ALPHA fbo on ES/CoreJordan Justen2013-01-141-1/+2
| | | | | | | | | v2: * Only allow on GL Legacy contexts Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* fbobject: add VERBOSE=api message for renderbuffer storageJordan Justen2013-01-141-1/+16
| | | | | | | | | | Add API debug trace message for: * glRenderbufferStorage * glRenderbufferStorageMultisample Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* fbobject: add VERBOSE=api message for check framebuffer statusJordan Justen2013-01-141-0/+4
| | | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* util: add new primitive types to pipe_prim_names[] arrayBrian Paul2013-01-141-0/+4
| | | | Reviewed-by: Jose Fonseca <[email protected]>
* st/mesa: add some simple buffer/draw debug codeBrian Paul2013-01-144-0/+18
| | | | Reviewed-by: José Fonseca <[email protected]>
* libgl-xlib: link with -lrtBrian Paul2013-01-141-1/+2
| | | | | | | | | | | Fixes a runtime error: glxgears: symbol lookup error: /home/brian/mesa/lib/gallium/libGL.so.1: undefined symbol: clock_gettime v2: use $(CLOCK_LIB) and $(PTHREAD_LIBS) per Andreas Boll. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Andreas Boll <[email protected]>
* i965: Avoid blending with destination alpha when RB format has no alpha bitsCarl Worth2013-01-143-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | The hardware does not support a render target without an alpha channel. So when the user creates a render buffer with no alpha channel, there actually is storage available for alpha internally. It requires special care to avoid these unwanted alpha bits from causing any problems. Specifically, when blending, and when the blend factors would read the destination alpha values, this commit coerces the blend factors to instead be either 0 or 1 as appropriate. A similar fix was made for pre-gen6 hardware in commit eadd9b8e and this commit shares the fixup function written by Ian then. This commit the following es3conform test: rgb8_rgba8_rgb As well as the following piglit (sub) tests: EXT_framebuffer_object/fbo-blending-formats/3 EXT_framebuffer_object/fbo-blending-formats/GL_RGB EXT_framebuffer_object/fbo-blending-formats/GL_RGB8 Reviewed-by: Ian Romanick <[email protected]>
* egl/wayland: Implement EGL_EXT_buffer_ageKristian Høgsberg2013-01-141-1/+24
| | | | Reviewed-by: Ander Conselvan de Oliveira <[email protected]>
* egl/wayland: Pull color buffers from dri2_surf->color_buffers poolKristian Høgsberg2013-01-142-252/+150
| | | | | | | | | | | | | | | We used to keep the color buffers in the dri_buffers array and swap __DRI_BUFFER_BACK_LEFT and __DRI_BUFFER_FRONT_LEFT around there and swap third_buffer in in case we needed to triple buffer. That gets a little fidgety with all the swaps, so lets use the color_buffers pool like the gbm platform does. We track the color buffers, their corresponding wl_buffer and locked status here and just plug a free one into dri2_surf->buffers when we need to. This is a nice clean-up in itself, but it also sets us up to track buffer age in the color_buffers structs. Reviewed-by: Ander Conselvan de Oliveira <[email protected]>
* gallium/svga: Make sure -std=gnu99 is set.Johannes Obermayr2013-01-142-2/+5
| | | | | | This is a work-around until configure.ac stops touching CFLAGS. Reviewed-by: Matt Turner <[email protected]>
* build: Fix the documented default value of --with-gallium-driversDamien Lespiau2013-01-141-1/+3
| | | | | Signed-off-by: Damien Lespiau <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r300g: set a dummy vertex buffer in context_createMarek Olšák2013-01-141-0/+1
| | | | so that the driver doesn't crash if an app doesn't set any vertex buffers.
* r300g: fix MSAA resolve to an untiled textureMarek Olšák2013-01-143-3/+10
| | | | | RB3D_DEBUG_CTL doesn't help, so I resolve to a tiled temporary texture and then blitting it to the destination one, which we also do in other situations.
* r300g: advertise MSAA support for the RGB10_A2 format on r500Marek Olšák2013-01-142-12/+47
| | | | It seems to be working just fine.
* r300g: allow separate depth and stencil clearMarek Olšák2013-01-141-1/+1
| | | | | | | | The handling of the CAP is broken in st/mesa anyway. Let's just kill it. This commit pretty much enables fast Z clear for FBOs with Z24S8. The driver falls back to clearing with a quad if the fast clear cannot be used. It can still do fast color clear, for example.
* r300g: if both Z and stencil are present, they must be fast-cleared togetherMarek Olšák2013-01-141-6/+11
|
* r300g: allow HiZ with a 16-bit zbufferMarek Olšák2013-01-141-1/+0
|
* r300g: random hyperz cleanupsMarek Olšák2013-01-143-18/+12
|
* r300g: kill the X.Org state tracker targetMarek Olšák2013-01-144-247/+1
| | | | | | This won't ever be made default and we don't need it anyway. We should also consider doing this for other drivers.
* xmlpool: Fix out-of-tree builds.Johannes Obermayr2013-01-1313-1/+13
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* gtest: Build it only for 'make check'.Johannes Obermayr2013-01-131-1/+1
| | | | | Reviewed-by: Andreas Boll <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).Johannes Obermayr2013-01-134-13/+14
| | | | Reviewed-by: Andreas Boll <[email protected]>
* r200: Fix probable thinko in r200EmitArraysAdam Jackson2013-01-131-1/+2
| | | | | | | | | | Effectively this path would always assert. Move the break statement to the (probable) intended place. Note: This is a candidate for the stable branches. Signed-off-by: Adam Jackson <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* target/dri-swrast: fix for nonstandard LLVM prefixNathan Schulte2013-01-131-0/+1
| | | | | | | | | | | | Include LLVM_LDFLAGS when building with LLVM. Fixes the following build errors: CXXLD swrast_dri.la /usr/bin/ld: cannot find -lLLVMR600CodeGen /usr/bin/ld: cannot find -lLLVMR600Desc /usr/bin/ld: cannot find -lLLVMR600Info /usr/bin/ld: cannot find -lLLVMR600AsmPrinter Reviewed-by: Andreas Boll <[email protected]>
* targets/dri-r600: Force c++ linker in all casesAndreas Boll2013-01-131-8/+2
| | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59282
* glapi/gen: remove an obsolete comment from Makefile.amAndreas Boll2013-01-131-5/+0
| | | | | | | | Glapi gets generated at build time. See commit: 0ce0f7c0c8fa9902678af7f3ecad2541be5808d2 mesa: Remove the generated glapi from source control, and just build it.
* Remove hacks for static MakefilesMatt Turner2013-01-1349-224/+6
| | | | | | | | | | | v2: Andreas Boll <[email protected]> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <[email protected]> - remove more obsolete hacks v4: Andreas Boll <[email protected]> - add a previously removed TOP variable to fix vgapi build
* i965: Move program_id to intel_screen instead of brw_context.Kenneth Graunke2013-01-124-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to bug #54524, I regressed oglconform's multicontext test when I reenabled the fragment shader precompile. However, these test cases only passed by miraculous coincedence. We assign each fragment program a unique ID (brw_fragment_program::id which becomes brw_wm_prog_key::program_string_id) which we obtain by storing a per-context counter. The test case uses GLX context sharing to access the same fragment program from two different contexts. This means that we share a program cache. Before the precompile, if both contexts happened to use the same shaders in the same order, we'd obtain the same program_string_ids (by virtue of doing the same computation twice). However, the more likely scenario is that they completely disagree on program_string_id. This meant that we'd have two completely different fragment shaders in the cache with the same ID, tricking us to think they were the same (aside from NOS), so we'd render using the wrong program. This patch implements a simple fix suggested by Eric: it moves the global counter out of brw_context and into intel_screen, which is shared across all contexts. A mutex protects it from concurrent access. This is also the first direct usage of pthreads in the i965 driver. Fixes 10 subcases of oglconform's multicontext test. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54524 Reviewed-by: Eric Anholt <[email protected]>
* i965: Fix build error with clang.Kenneth Graunke2013-01-121-3/+7
| | | | | | | | | | | | | | | Technically, variable sized arrays are a required feature of C99, redacted to be optional in C11, and not actually part of C++ whatsoever. Gcc allows using them in C++ unless you specify -pedantic, and Clang appears to allow them for simple/POD types. exec_list is arguably POD, since it doesn't have virtual methods, but I can see why Clang would be like "meh, it's a C++ struct, say no", seeing as it's meant to support C99. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58970 Reviewed-by: Matt Turner <[email protected]>
* i965/fs: Don't mix integer/float immediates in i2b handling.Kenneth Graunke2013-01-121-1/+3
| | | | | | | | | | | | | | | The simulator gets very angry about our i2b code: cmp.ne(16) g3<1>D g2<0,1,0>D 0F We can't mix integer DWord and float types. The only reason to use 0F here was to share code with f2b. Split it and use 0D instead. While we don't believe anything bad will actually happen because of this, it's nice to fix the warnings and easy enough to do. Reviewed-by: Paul Berry <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Add an INTEL_DEBUG=no16 option.Kenneth Graunke2013-01-123-1/+4
| | | | | | | | | | | Often when debugging, I don't want to see SIMD16 shaders. It makes INTEL_DEBUG=vs/fs output much easier to read, especially when a program dumps many shaders. Plus, I also want to verify that SIMD8 works before even considering SIMD16. v2: Fix the likeliness check (caught by Chris and Eric). Reviewed-by: Eric Anholt <[email protected]>
* configure.ac: Fixing common dri dependency when using dri state trackerAlexandre Demers2013-01-131-2/+2
| | | | | | | Fixes a regression caused by b587a7595e7aae0809a8e7392e89c39df0c955b1 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59261 Reviewed-by: Andreas Boll <[email protected]>
* st/mesa: set ctx->Const.UniformBufferOffsetAlignmentFredrik Höglund2013-01-121-1/+4
| | | | Reviewed-by: Marek Olšák <[email protected]>
* scons: Update for xmlpool/options.h generation.José Fonseca2013-01-125-0/+20
|
* nv50/nvc0: Build codegen in nv50.Johannes Obermayr2013-01-126-36/+45
| | | | This is required to make libnv50 independent of libnvc0.
* winsys/sw/wayland: Fix build to properly use wayland cflagsPekka Vuorela2013-01-121-1/+1
| | | | | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59281 Reviewed-by: Andreas Boll <[email protected]>
* texformat: use MESA_FORMAT_ARGB2101010 with GL_UNSIGNED_INT_2_10_10_10_REVJordan Justen2013-01-121-1/+7
| | | | | | | | | Choose MESA_FORMAT_ARGB2101010 when storing GL_RGBA + GL_UNSIGNED_INT_2_10_10_10_REV or GL_RGB + GL_UNSIGNED_INT_2_10_10_10_REV. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* texstore argb2101010: merge GL_RGBA and GL_RGB casesJordan Justen2013-01-121-15/+3
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glformats: support _mesa_bytes_per_pixel for 2101010+GL_RGBJordan Justen2013-01-121-1/+2
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* glformats: add _mesa_base_format_component_countJordan Justen2013-01-122-0/+29
| | | | | Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>