aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* mesa: clean up F_TO_I, IFLOOR, ICEIL functionsBrian Paul2012-09-011-60/+30
| | | | Put all the #ifdef stuff inside the function bodies instead of outside.
* i965/fs: Don't use brw->fragment_program in calculate_urb_setup().Kenneth Graunke2012-08-311-1/+1
| | | | | | | | | | | | | | | | | | Reading brw->fragment_program is nonsensical in compiler code: it contains the currently active program (if any), not the one currently being compiled. Attempting to access it may either lead to crashes (null pointer dereference if no program is active) or wrong results. Fixes piglit regressions since 9ef710575b914ddfc8e9a162d98ad554c1c217f7 on pre-Sandybridge hardware. The actual bug was created in commit 7b1fbc688999fd568e65211d79d7678562061594. NOTE: This is a candidate for the 9.0 and 8.0 branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54183 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Paul Berry <[email protected]>
* mesa: don't wait in _mesa_ClientWaitSync if timeout is 0Vadim Girlin2012-09-011-2/+6
| | | | | | | | | | | | | | From ARB_sync spec: If the value of <timeout> is zero, then ClientWaitSync does not block, but simply tests the current state of <sync>. TIMEOUT_EXPIRED will be returned in this case if <sync> is not signaled, even though no actual wait was performed. Fixes random fails of the arb_sync-timeout-zero piglit test on r600g. Signed-off-by: Vadim Girlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* Remove libGLUMatt Turner2012-08-31204-57769/+0
| | | | | | | It's been moved to its own repository, found at http://cgit.freedesktop.org/mesa/glu/ Acked-by: Kenneth Graunke <[email protected]>
* dri: Rework planar image interfaceJakob Bornecrantz2012-08-316-119/+286
| | | | | | | | | | | | | | | | | | | | | | As discussed with Kristian on #wayland. Pushes the decision of components into the dri driver giving it greater freedom to allow t to implement YUV samplers in hardware, and which mode to use. This interface will also allow drivers like SVGA to implement YUV surfaces without the need to sub-allocate and instead send 3 seperate buffers for each channel, currently not implemented. I have tested these changes on Gallium Svga. Scott tested them on both intel and Gallium Radeon. Kristan and Pekka tested them on intel. v2: Fix typo in dri2_from_planar. v3: Merge in intel changes. Tested-by: Scott Moreau <[email protected]> Tested-by: Pekka Paalanen <[email protected]> Tested-by: Kristian Høgsberg <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]>
* radeon/llvm: Rework how immediate operands are handled with SITom Stellard2012-08-3110-44/+150
| | | | | | | Immediate operands were previously handled in the CodeEmitter, but that code was buggy and very confusing. This commit adds a pass that simplifies the handling of immediate operands by spliting the loading of the immediate into a sperate insruction that is bundled with the original.
* radeon/llvm: Fix typo in assertTom Stellard2012-08-311-1/+1
|
* radeon/llvm: Fix isEG tablegen predicateTom Stellard2012-08-311-3/+5
| | | | | This predicate incorrectly included SI GPUs, so some Evergreen instructions were being emmitted on SI.
* radeon/llvm: Add support for RCP instruction on SITom Stellard2012-08-311-1/+3
|
* radeon/llvm: Support AMDGPUfmin DAG node on SITom Stellard2012-08-311-1/+3
|
* radeonsi: Handle TGSI_SEMANTIC_PSIZETom Stellard2012-08-311-0/+1
| | | | | | | | | | The relevant POINT_SIZE registers are being set using the pipe_rasterizer_state, so we just need to tell the shader compiler which export type to use. This fixes several of the glean glsl tests. Reviewed-by: Alex Deucher <[email protected]>
* android: do not expose single buffered eglconfigsTapani Pälli2012-08-311-11/+8
| | | | | | | | | | | | On Android we want to add only double buffered configs for visuals. Earlier implementation set the SurfaceType as 0 for single buffered configs but driver still exposed these configs that were not compatible with any egl surface type. This caused Khronos conformance test runs to fail on Android. This patch fixes the issue by skipping single buffered configs earlier and not exposing them. Signed-off-by: Tapani Pälli <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* android: fix liblog API changesTapani Pälli2012-08-311-3/+14
| | | | | | | | android logging macros changed their name in JellyBean. Signed-off-by: Bruce E. Robertson <[email protected]> Signed-off-by: Tapani Pälli <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* xmlconfig: use __progname when building for AndroidTapani Pälli2012-08-311-1/+1
| | | | | | | __progname symbol and strrchr are available with bionic. Signed-off-by: Tapani Pälli <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* st/mesa: s/CALLOC/calloc/ to fix allocation bugBrian Paul2012-08-311-1/+1
| | | | | | | | | The CALLOC() macro only takes one argument so this was being treated as a comma expression. Simply use calloc() instead. A follow-on patch will replace all CALLOC() calls with calloc(). NOTE: This is a candidate for the 8.0 and 9.0 branches.
* util: add casts to silence signed/unsigned comparison warningsBrian Paul2012-08-311-2/+2
|
* mesa: fix-up and use _mesa_delete_renderbuffer()Brian Paul2012-08-317-7/+11
| | | | | | | | _mesa_delete_renderbuffer() should free the mutex (though that may be a no-op) and then free the renderbuffer object itself. Subclasses of gl_renderbuffer can use this function too. Reviewed-by: José Fonseca <[email protected]>
* mesa: Bump version to 9.0Ian Romanick2012-08-301-3/+3
| | | | | | | | Now that OpenGL 3.1 is supported by at least one driver, follow tradition and bump the major version number. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* r600g: enable transform feedback on CaymanMarek Olšák2012-08-311-3/+1
| | | | There doesn't seem to be anything wrong with it.
* r600g: implement MSAA for CaymanMarek Olšák2012-08-318-73/+187
| | | | | Everything works except for blitting MSAA colorbuffers, which isn't so trivial on Cayman. It's a rarely-used feature anyway.
* i965/msaa: flag _NEW_MULTISAMPLE in the brw_tracked_stateAnuj Phogat2012-08-302-2/+3
| | | | | | | This is required to get the program recompiled when SampleAlphaToCoverage is enabled. Reviewed-by: Paul Berry <[email protected]>
* r600g: enable MSAA on r6xx by defaultMarek Olšák2012-08-301-3/+6
| | | | | DRM 2.22.0 is required though. Also require the new DRM for r700, as there are some important fixes for that generation too.
* r600g: disable MSAA depth decompression on r6xxMarek Olšák2012-08-301-1/+10
|
* r600g: implement color resolve for r600Marek Olšák2012-08-307-26/+199
| | | | | | | | | The blend state is different and the resolve single-sample buffer must have FMASK and CMASK enabled. I decided to have one CMASK and one FMASK per context instead of per resource. There are new FMASK and CMASK allocation helpers and a new buffer_create helper for that.
* r600g: fix CB_SHADER_MASK and CB_TARGET_MASK for r6xxMarek Olšák2012-08-301-11/+24
|
* r600g: implement draw_rectangle callbackMarek Olšák2012-08-305-16/+88
| | | | | | The color resolve on r6xx needs PT_RECTLIST. Using conventional primitive types (triangles and quads) produces an ugly line between two diagonally opposite corners. I guess a rectangular point sprite would work too.
* r600g: implement MSAA for r700Marek Olšák2012-08-307-41/+262
| | | | Reviewed-by: Jerome Glisse <[email protected]>
* r600g: change programming of CB_SHADER_MASK on r600-r700Marek Olšák2012-08-301-1/+2
| | | | | | | This one actually makes more sense and gives the expected value for MSAA resolve. Reviewed-by: Jerome Glisse <[email protected]>
* meta: remove call to _meta_in_progress(), fix multisample enable/disableBrian Paul2012-08-302-8/+32
| | | | | | | | | | | | | | | | | | | This partially reverts d638da23d2ec2e9c52655b1ea138249e7f8bcccb. With gallium the meta code is not always built so the call to _meta_in_progress() was unresolved. Simply special-case the GL_MULTISAMPLE case in the meta code. There might be other special cases in the future given all the differences between legacy GL, core GL, GLES, etc. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=54234 and https://bugs.freedesktop.org/show_bug.cgi?id=54239 v2 (Paul Berry <[email protected]>): keep _meta_in_progress function, since it's needed by the i965 driver, but don't call it from core mesa. Signed-off-by: Brian Paul <[email protected]>
* meta: add parenthesis to silence compiler warningsBrian Paul2012-08-301-2/+2
| | | | Reviewed-by: Paul Berry <[email protected]>
* scons : add HAVE_DLOPEN to build environmentTapani Pälli2012-08-301-0/+1
| | | | | | | | | fixes dlopen issue caused by 57c57df7b4579b60a84062df2e64f84dd84558b5 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54140 Signed-off-by: Tapani Pälli <[email protected]> Signed-off-by: José Fonseca <[email protected]>
* radeonsi: fix stupid bug added in commit ↵Christian König2012-08-301-7/+8
| | | | | | | 07838603b9a69c05911edbcd351bfce5ad9b5a2c Signed-off-by: Christian König <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* i965/fs: Remove a dead member from live variables analysis.Eric Anholt2012-08-292-6/+0
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Initialize output_components[] by filling it with zeros.Kenneth Graunke2012-08-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Prior to commit 2f1869822, emit_fb_writes() looped from 0 to 3, writing all four components of a vec4 color output. However, that broke for smaller output types (float, vec2, or vec3). To fix that, I introduced a new variable (output_components[]) containing the size of the output type for each render target. Unfortunately, I forgot to actually initialize it in the constructor, which meant that unless a shader wrote to gl_FragColor, or the specific output for each render target, output_components would contain a garbage value, and we'd loop for a completely non-deterministic amount of time. Not actually emitting any color writes seems like the right approach. We may still need to emit a render target write (to terminate the thread), but don't have to put in any sensible values (the shader didn't write anything, after all). Fixes a regression since 2f18698220d8b27991fab550c4721590d17278e0. NOTE: This is a candidate for stable release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54193 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Paul Berry <[email protected]> Tested-by: Ian Romanick <[email protected]>
* mesa: Do something sensible when on-line compression is requested but not ↵Ian Romanick2012-08-291-0/+31
| | | | | | | | | | | | | | | | | | | | | possible It is possible to force S3TC extensions to be enabled. This is generally done to support applications that will only supply pre-compressed textures. This accounts for the vast majority of applications. However, there is still the possibility of an application asking for on-line compression. In that case, generate a warning and substitute a generic compressed format. The driver will either pick an uncompressed format or a compressed format that Mesa can handle on-line (e.g., FXT1). This should only cause problems for applications that request on-line compression and read the compressed texture back. This is likely an infinitesimal subset of an already infinitesimal subset. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Allow creation of OpenGL 3.1 contextsIan Romanick2012-08-291-0/+19
| | | | | | | | v2: Fix API_OPENGL_CORE handling when TEXTURE_FLOAT_ENABLED is not defined. Based on review feedback from Eric Anholt. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* i965: Advertise GLSL 1.40 and TexBOs in core contextsIan Romanick2012-08-291-1/+9
| | | | Signed-off-by: Ian Romanick <[email protected]>
* intel: Clean up bits of cruft in intelCreateContextIan Romanick2012-08-291-40/+11
| | | | | | This and the previous three commits should probably be squashed together... Signed-off-by: Ian Romanick <[email protected]>
* i965: Set context flagsIan Romanick2012-08-293-2/+12
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa/dri: Allow creation of forward-compatible contextsIan Romanick2012-08-291-5/+5
| | | | | | This is done by changing the API to API_OPENGL_CORE. Signed-off-by: Ian Romanick <[email protected]>
* mesa/es: Enable GL_OES_vertex_array_objectIan Romanick2012-08-295-13/+41
| | | | | | | Functionally the same as GL_ARB_vertex_array_object. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: Enable GL_{ARB,APPLE}_vertex_array_object in all driversIan Romanick2012-08-297-17/+3
| | | | | | | | This is a purely software extension. The drivers don't need to do any work to support it. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* meta: Don't use deprecated keyword in 1.30 shaderIan Romanick2012-08-291-1/+1
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Disallow alpha, luminance, and LA textures in core contextIan Romanick2012-08-291-4/+6
| | | | | | Also disallow the 1, 2, 3, and 4 formats. Signed-off-by: Ian Romanick <[email protected]>
* mesa: Disallow more deprecated functions in core contextIan Romanick2012-08-292-3/+2
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Require names from Gen in core contextIan Romanick2012-08-292-0/+9
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Allow NULL vertex pointer without a VBOIan Romanick2012-08-291-4/+13
| | | | | | | There is text in the OpenGL 3.x specs to explicitly allow this case. Weird. Signed-off-by: Ian Romanick <[email protected]>
* mesa: Disallow VertexAttribPointer without a VAO in a core contextIan Romanick2012-08-291-0/+17
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Disallow wide lines in forward compatible contextIan Romanick2012-08-291-0/+17
| | | | Signed-off-by: Ian Romanick <[email protected]>
* mesa: Only FRONT_AND_BACK is allowed for PolygonMode in core contextIan Romanick2012-08-292-2/+16
| | | | | | | | | | | | | Page 407 (page 423 of the PDF) of the OpenGL 3.0 spec says (in the list of deprecated functionality): "Separate polygon draw mode - PolygonMode face values of FRONT and BACK; polygons are always drawn in the same mode, no matter which face is being rasterized." Also modify meta to not use FRONT or BACK in a core context. Signed-off-by: Ian Romanick <[email protected]>