summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* gallium/util: add a half float array to util_colorMarek Olšák2013-01-151-0/+1
| | | | For convenient packing into half floats.
* Revert "targets/opencl: Link against libgallium.la instead of libgallium.a"Tom Stellard2013-01-152-1/+9
| | | | | | | | | | | | | | | This reverts commit 4148a29ed83d1d85bff3d4e40e847128011c3f20. This is a work-around for bug: https://bugs.freedesktop.org/show_bug.cgi?id=59334 We really should be linking against libgallium.la instead of libgallium.a, but until we can figure why linking against libgallium.la causes runtime failures in clover we will continue to link against libgallium.a Acked-by: Andreas Boll <andreas.boll.dev@gmail.com> Tested-by: Aaron Watry <awatry@gmail.com>
* st/mesa: use a generic varying to pass the clear color to the FSMarek Olšák2013-01-151-2/+2
| | | | | | The color varying may have reduced precision or be even clamped. Reviewed-by: Brian Paul <brianp@vmware.com>
* gallium/util: fix glClear with MRT by making the FS write to all cbufsMarek Olšák2013-01-156-9/+42
| | | | Reviewed-by: Brian Paul <brianp@vmware.com>
* st/mesa: fix InternalFormat for Z24X8 window-system buffersMarek Olšák2013-01-151-1/+3
| | | | | | This probably doesn't fix anything, but it's good to be consistent. Reviewed-by: Brian Paul <brianp@vmware.com>
* st/mesa: remove dead conditional in ClearMarek Olšák2013-01-151-12/+0
| | | | | | | | | I think the conditional always evaluates to false. If I understand the code in core Mesa correctly, depthBits or stencilBits is 0 if the depth or stencil renderbuffer is NULL, respectively. Reviewed-by: Brian Paul <brianp@vmware.com>
* st/mesa: simplify conditionals in ClearMarek Olšák2013-01-151-30/+12
| | | | | | just check depth and stencil separately, the outcome is the same Reviewed-by: Brian Paul <brianp@vmware.com>
* st/mesa: fix glClear with different colormask for each colorbufferMarek Olšák2013-01-151-18/+25
| | | | Reviewed-by: Brian Paul <brianp@vmware.com>
* gallium: remove PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATEMarek Olšák2013-01-1513-19/+1
| | | | Reviewed-by: Brian Paul <brianp@vmware.com>
* 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 <brianp@vmware.com>
* softpipe: implement separate depth-stencil clearMarek Olšák2013-01-151-3/+12
| | | | | | The CAP is going away. Reviewed-by: Brian Paul <brianp@vmware.com>
* 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 <jon.turney@dronecode.org.uk> Reviewed-by: Brian Paul <brianp@vmware.com>
* 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 <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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 <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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 <jordan.l.justen@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* copyteximage: update signed vs. unsigned format matchingJordan Justen2013-01-141-7/+25
| | | | | | | | Fixes issues with gles3-gtf Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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 <jordan.l.justen@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* teximage: use _mesa_es3_error_check_format_and_type for GLES3Matt Turner2013-01-141-6/+13
| | | | | Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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. [jordan.l.justen@intel.com: additional tweaks for gles3-gtf] Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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 <jordan.l.justen@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* 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 <jordan.l.justen@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* fbobject: add VERBOSE=api message for check framebuffer statusJordan Justen2013-01-141-0/+4
| | | | | | Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* util: add new primitive types to pipe_prim_names[] arrayBrian Paul2013-01-141-0/+4
| | | | Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* st/mesa: add some simple buffer/draw debug codeBrian Paul2013-01-144-0/+18
| | | | Reviewed-by: José Fonseca <jfonseca@vmware.com>
* 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 <mattst88@gmail.com> Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com>
* 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 <ian.d.romanick@intel.com>
* egl/wayland: Implement EGL_EXT_buffer_ageKristian Høgsberg2013-01-141-1/+24
| | | | Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
* 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 <conselvan2@gmail.com>
* 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 <mattst88@gmail.com>
* build: Fix the documented default value of --with-gallium-driversDamien Lespiau2013-01-141-1/+3
| | | | | Signed-off-by: Damien Lespiau <damien.lespiau@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
* 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 <kenneth@whitecape.org>
* gtest: Build it only for 'make check'.Johannes Obermayr2013-01-131-1/+1
| | | | | Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* tests: AM_CPPFLAGS must include $(top_srcdir) instead of $(top_builddir).Johannes Obermayr2013-01-134-13/+14
| | | | Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com>
* 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 <ajax@redhat.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com>
* 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 <andreas.boll.dev@gmail.com>
* 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 <andreas.boll.dev@gmail.com> - don't remove compatibility with scripts for the old build system v3: Andreas Boll <andreas.boll.dev@gmail.com> - remove more obsolete hacks v4: Andreas Boll <andreas.boll.dev@gmail.com> - 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 <eric@anholt.net>
* 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 <mattst88@gmail.com>
* 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 <stereotype441@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
* 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 <eric@anholt.net>