summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-08glx: Generate fewer errors in MakeContextCurrentAdam Jackson1-10/+0
For a few reasons. 1: In the (current) common case, these conditionals are never true. All we're doing by checking them is slowing down MakeCurrent. The server does these checks already anyway. 2: GLX >= 3.0 contexts may legally be made current without a bound framebuffer. This does not fix piglit/glx-create-context-current-no-framebuffer, but is a prerequisite for fixing it. Cc: "9.1 9.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2013-10-08glx: Propagate failures from SendMakeCurrentRequest where possibleAdam Jackson1-3/+4
Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2013-10-08glx: Hide xGLXMakeCurrentReply inside SendMakeCurrentRequestAdam Jackson1-7/+9
Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
2013-10-08st/dri: don't export any private symbolsMarek Olšák2-1/+3
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-08gallium/swrast: don't export any private symbolsMarek Olšák4-4/+8
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-08gallium/radeon: don't export any private symbolsMarek Olšák14-16/+32
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-08configure.ac: report an error if LLVM shared libs are disabled and CL is enabledMarek Olšák1-2/+3
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
2013-10-08st/mesa: improve format selection for GLESMarek Olšák3-1/+40
Reviewed-by: Wladimir J. van der Laan <laanwj@gmail.com>
2013-10-07i915g: Rename sampler to fragment_samplerStéphane Marchesin4-9/+9
Otherwise it is fairly confusing.
2013-10-07i915g: Fix the sampler bind functionStéphane Marchesin1-19/+30
The new sampler bind sends us NULL samplers, so we need to count the number of valid samplers ourselves. This fixes ~500 piglit regressions from the sampler rework. While we're at it, let's also support start.
2013-10-07gen7: Use logical, not physical, dims in 3DSTATE_DEPTH_BUFFER (v2)Chad Versace2-4/+4
In 3DSTATE_DEPTH_BUFFER, we set Width and Height to the miptree slice's physical dimensions. (Logical and physical dimensions may differ for multisample surfaces). However, in SURFACE_STATE, we always set Width and Height to the slice's logical dimensions. We should do the same for 3DSTATE_DEPTH_BUFFER, because the hw docs say so. No Piglit regressions (-x glx -x glean) on Ivybridge with Wayland. v2: No Piglit regressions, for real this time. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-07doxygen: Generate Doxygen for i965Chad Versace3-1/+53
Now, one can do the following to generate and read the i965 Doxygen: cd $MESA_TOP/doxygen make firefox i965/index.html Reviewed-by: Frank Henigman <fjhenigman@google.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2013-10-07i965: Remove the "ARF" register file.Matt Turner5-16/+6
The registers in the architecture register file don't share much in common, so there's no point in grouping them together. Use the HW_REG class instead. The vec4 backend already does this. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07i965: Fixup for don't dead-code eliminate instructions that write to the ↵Matt Turner2-4/+2
accumulator. Accidentally pushed an old version of the patch. v2: Set destination register using brw_null_reg(). Reviewed-by: Paul Berry <stereotype441@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07i965: Generate code for ir_binop_imul_high.Matt Turner3-0/+18
v2: Make accumulator's type match the type of the operation. Noticed by Ken. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07i965: Use the multiplication result's type for the accumulator.Matt Turner2-2/+2
Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-07i965/fs: Disable CSE on instructions writing to HW_REG.Matt Turner1-1/+2
CSE would otherwise combine the two mul(8) emitted by [iu]mulExtended: mul(8) acc0 x y mach(8) null x y mov(8) lsb acc0 ... mul(8) acc0 x y mach(8) msb x y Into: mul(8) temp x y mov(8) acc0 temp mach(8) null x y mov(8) lsb acc0 ... mov(8) acc0 temp mach(8) msb x y But mul(8) into the accumulator produces more than 32-bits of precision, which is required and lost if multiplying into a general register and moving to the accumulator. Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-07glsl: Implement [iu]mulExtended() built-ins for ARB_gpu_shader5.Matt Turner8-1/+49
These built-ins have two "out" parameters, which makes implementing them efficiently with our current compiler infrastructure difficult. Instead, implement them in terms of the existing ir_binop_mul IR (to return the low 32-bits) and a new ir_binop_mul64 which returns the high 32-bits. v2: Rename mul64 -> imul_high as suggested by Ken. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07i965: Add Gen assertion checks for newer instructions.Matt Turner2-0/+22
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07i965: Don't dead-code eliminate instructions that write to the accumulator.Matt Turner2-2/+30
Reviewed-by: Paul Berry <stereotype441@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07i965: Generate code for ir_binop_carry and ir_binop_borrow.Matt Turner14-0/+80
Using the ADDC and SUBB instructions on Gen7. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07i965: Add UD null register helpers.Matt Turner2-0/+6
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07glsl: Implement usubBorrow() built-in for ARB_gpu_shader5.Matt Turner1-0/+21
i965 implements this with a single (multiple destination) instruction, SUBB. Emitting SUBB directly from usubBorrow() would be ideal, but our optimization passes don't know how to copy with expressions with side-effects. Radeon has an SUBB_UINT instruction that only generates the borrow bit. I've chosen to go this route and implement usubBorrow() by doing the subtraction and the borrow operations separately. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-07glsl: Implement uaddCarry() built-in for ARB_gpu_shader5.Matt Turner1-0/+21
i965 implements this with a single (multiple destination) instruction, ADDC. Emitting ADDC directly from uaddCarry() would be ideal, but our optimization passes don't know how to copy with expressions with side-effects. Radeon has an ADDC_UINT instruction that only generates the carry bit. I've chosen to go this route and implement uaddCarry() by doing the addition and the carry operations separately. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-07glsl: Add ir_binop_carry and ir_binop_borrow.Matt Turner7-0/+42
Calculates the carry out of the addition of two values and the borrow from subtraction respectively. Will be used in uaddCarry() and usubBorrow() built-in implementations. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-07glsl_compiler: Enable any extension that any Mesa driver enablesIan Romanick1-1/+8
The only GLSL extension that is not enabled is AMD_vertex_shader_layer. I think the standalone-compiler could enable this (as shading language support is complete), but no driver enables it. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07glsl_compiler: Sort extensions by nameIan Romanick1-8/+11
Makes it a little easier to see which ones are missing. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07glsl_compiler: Always log the compiler diagnosticsIan Romanick1-1/+3
Not just when there's an error. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07glsl_compiler: Set max GLSL version on the command lineIan Romanick1-12/+173
Infer whether or not to use ES based on the GLSL version (100 or 300 are for ES). This replaces the --glsl-es command line option. Set various compiler limits based on the minimums required for the specified GLSL version. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07glsl_compiler: Use no_argument instead of 0 in getopt_long optionsIan Romanick1-5/+5
The choices aren't just 0 and 1, so using the enum names is much more clear. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07glsl_compiler: Re-enable building glsl_compilerIan Romanick2-3/+14
This allows application developers to use Mesa's compiler as a standalone validator for their shaders. This is mostly a revert of commit 569f0e4. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-07glsl: Remove glsl_parser_state MaxVaryingFloats fieldIan Romanick3-5/+4
Pull the data directly from the context like the other varying related limits. The parser state shadow copies were added back when the parser state didn't have a pointer to the context. There's no reason to do it now days. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2013-10-07glsl: Set gl_MaxVertexOutputs from VertexProgram.MaxOutputComponents etcIan Romanick1-2/+2
gl_MaxVertexOutputVectors => ctx->Const.VertexProgram.MaxOutputComponents gl_MaxFragmentInputVectors => ctx->Const.FragmentProgram.MaxInputComponents v2: Add types so that the code compiles. Pointed out by Brian. v3: Leave gl_MaxVaryingFloats et al. as-is. Suggested by Paul. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> [v2] Reviewed-by: Marek Olšák <marek.olsak@amd.com> [v2] Reviewed-by: Paul Berry <stereotype441@gmail.com> [v2]
2013-10-07glsl: Count shader inputs and outputs separatelyIan Romanick3-25/+91
Starting with OpenGL 3.2 input limits and output limits for stages may not match. This means they need to be accounted separately. No piglit regressions. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Paul Berry <stereotype441@gmail.com>
2013-10-07glapi: add output info to GetProgramiv's paramsEmilio Pozuelo Monfort1-1/+1
Signed-off-by: Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-07clover: fix building with llvm-3.4 since rev191922Laurent Carlier1-1/+5
http://llvm.org/viewvc/llvm-project?view=revision&revision=191922
2013-10-07st/mesa: silence warning about unhandled ir_query_levels in switchBrian Paul1-0/+3
2013-10-07radeon/vdpau: only export necessary symbolsChristian König3-0/+9
Export only the absolutely necessary symbols in radeon vdpau targets. Signed-off-by: Christian König <christian.koenig@amd.com>
2013-10-07radeon/uvd: optimize message handling a bitChristian König1-44/+53
No need to keep a copy of the message in system memory anymore, since it should now be in GART memory on newer chips. Signed-off-by: Christian König <christian.koenig@amd.com>
2013-10-06docs: Mark a few more things as "in progress" in GL3.txt.Kenneth Graunke1-2/+2
2013-10-06dri/nouveau: add AllocTextureImageBuffer implementationIlia Mirkin1-0/+9
This fixes issues where get_rt_format would see a 0 format because the nouveau_surface had not been properly initialized. Fixes crash on supertuxkart startup (which still fails due to out-of-vram issues). Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Francisco Jerez <currojerez@riseup.net>
2013-10-06glsl: Fix usage of the wrong union member in ↵Francisco Jerez1-2/+2
program_resource_visitor::recursion. In the array-of-struct case, recursion() takes the row_major flag for each iteration from 't->fields.structure[i]', but 't' is not a record type. Inherit the array declaration row_major flag instead. This mistake was found by running piglit on valgrind. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=69449 Cc: "9.1 9.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Tested-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-06Revert "r600g: only flush the caches that need to be flushed during CP DMA ↵Marek Olšák4-139/+28
operations" This reverts commit 7948ed1250cae78ae1b22dbce4ab23aceacc6159. It caused graphical corruption. I've got no idea why. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70042 https://bugs.freedesktop.org/show_bug.cgi?id=68451 Conflicts: src/gallium/drivers/r600/evergreen_hw_context.c src/gallium/drivers/r600/r600_hw_context.c src/gallium/drivers/r600/r600_pipe.h
2013-10-06i965/ivb: Flag RG32F quirk for texture gather regardless of swizzlesChris Forbes1-1/+1
As of ARB_gpu_shader5, textureGather doesn't always read the post-swizzle RED channel -- so we can't just look at the red swizzle state. Theoretically we could only flag the quirk if *some* green swizzle is in use, but that's probably more trouble than it's worth. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-06i965/vs: Add support for textureGather(.., comp)Chris Forbes1-7/+11
- For HSW: Select the channel based on the component selected (swizzle is done in HW) - For IVB: Select the channel based on the swizzle state for the component selected. Only apply the RG32F w/a if we actually want green -- we're about to flag it regardless of swizzle state. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-06i965/fs: Add support for textureGather(.., comp)Chris Forbes1-7/+11
- For HSW: Select the channel based on the component selected (swizzle is done in HW) - For IVB: Select the channel based on the swizzle state for the component selected. Only apply the RG32F w/a if we actually want green -- we're about to flag it regardless of swizzle state. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-06glsl: add ARB_gpu_shader5's additional textureGather signaturesChris Forbes1-1/+26
- gsampler2DRect support - optional `comp` parameter Future patches will add shadow sampler support and textureGatherOffsets(). Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-06glsl: Add support for specifying the component in textureGatherChris Forbes8-7/+42
ARB_gpu_shader5 introduces new variants of textureGather* which have an explicit component selector, rather than relying purely on the sampler's swizzle state. This patch adds the GLSL plumbing for the extra parameter. Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-10-06docs: mark ARB_conservative_depth done on i965Chris Forbes2-1/+2
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
2013-10-06i965: Enable ARB_conservative_depth for Gen7+.Chris Forbes1-0/+1
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>