aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Use realloc() instead of _mesa_realloc() and remove the latter.Matt Turner2014-09-241-2/+1
| | | | Reviewed-by: Ian Romanick <[email protected]>
* gallivm: Wrap deleted inlcude in if HAVE_LLVM < 0x0306Tom Stellard2014-09-241-0/+2
| | | | This was missed in 8f4ee56.
* gallivm: Disable gallivm to fix build with LLVM 3.6Tom Stellard2014-09-241-0/+10
| | | | | | | | | | | | | | | | LLVM commit r218316 removes the JITMemoryManager class, which is the parent for a seemingly important class in gallivm. In order to fix the build, I've wrapped most of lp_bld_misc.cpp in if HAVE_LLVM < 0x0306 and modifyed the lp_build_create_jit_compiler_for_module() function to return false for 3.6 and newer which effectively disables the gallivm functionality. I realize this is overkill, but I could not come up with a simple solution to fix the build. Also, since 3.6 will be the first release without the old JIT, it would be really great if we could move gallivm to use the C API only for accessing MCJIT. There is still time before the 3.6 release to extend the C API in case it is missing some functionality that is required by gallivm.
* gallium/rbug: correctly unreference a sampler viewMarek Olšák2014-09-241-2/+1
| | | | | | | This fixes heap corruption. The sampler view can be bound in the context, so we cannot call destroy directly. Reviewed-by: Brian Paul <[email protected]>
* gallium/rbug: unlock a mutex in rbug_create_queryMarek Olšák2014-09-241-3/+5
| | | | Reviewed-by: Brian Paul <[email protected]>
* radeonsi: remove old cache flushing codeMarek Olšák2014-09-244-66/+1
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi/compute: do CS partial flush with si_emit_cache_flushMarek Olšák2014-09-243-6/+9
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeonsi/compute: flush caches with si_emit_cache_flushMarek Olšák2014-09-243-23/+32
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeonsi/compute: directly emit CONTEXT_CONTROLMarek Olšák2014-09-241-1/+5
| | | | | Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* radeonsi: properly destroy the GS copy shader and scratch_bo for computeMarek Olšák2014-09-242-3/+8
| | | | | Cc: 10.2 10.3 <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: release GS rings at context destructionMarek Olšák2014-09-241-0/+2
| | | | | Cc: 10.2 10.3 <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: don't use pipe_constant_buffer for GS ringsMarek Olšák2014-09-244-26/+22
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: don't pass the context to the shader translatorMarek Olšák2014-09-244-22/+18
| | | | | | This should prevent accessing context state there. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: don't snoop currently-bound GS shader when compiling ESMarek Olšák2014-09-243-16/+101
| | | | | | | | | Instead, pass the layout of GS inputs in memory to the ES using the shader key. Only 64 bits are needed to represent the layout in the key. Mixing and matching different VS and GS shaders should now always work. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: shorten si_pipe_* prefixes to si_*Marek Olšák2014-09-248-58/+57
| | | | | | | This was the original naming convention in r600g and it somehow crept into radeonsi. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: merge si_pipe_shader into si_shaderMarek Olšák2014-09-245-92/+90
| | | | | | One is part of the other anyway. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: disable gl_SampleMask fragment shader output if MSAA is disabledMarek Olšák2014-09-241-3/+18
| | | | | | This fixes piglit: arb_sample_shading-builtin-gl-sample-mask 0 Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: only update MSAA-specific framebuffer state if nr_samples is changedMarek Olšák2014-09-241-23/+27
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: move DB_SHADER_CONTROL into db_render_stateMarek Olšák2014-09-244-13/+18
| | | | | | | | | I will need this for fixing sample shading with 1 sample. The good news is that all shader pm4 states no longer use the current context state, so we can generate the pm4 states outside of draw_vbo if needed. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: set KILL_ENABLE during shader compilation, remove uses_kill flagMarek Olšák2014-09-243-5/+5
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove shader.ps_conservative_z, set db_shader_control insteadMarek Olšák2014-09-243-8/+4
| | | | | | Also set the field on SI too. It's not just specific to CIK. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: move DB registers from draw_vbo into new db_render_stateMarek Olšák2014-09-245-66/+82
| | | | | | It's called db_misc_state in r600g. Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: remove unused variable si_pipe_shader::sprite_coord_enableMarek Olšák2014-09-242-2/+0
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* radeonsi: document what si_descriptors.c doesMarek Olšák2014-09-241-0/+11
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* r300g: implement MSAA copies by resolving and upsamplingMarek Olšák2014-09-241-2/+3
| | | | There's no other way. It will use hw resolve + blit.
* targets/vl: don't forget to set GALLIUM_STATIC_TARGETSEmil Velikov2014-09-243-3/+3
| | | | | | | git rebase failure while dropping out a patch that reworks the way we build aux/vl. Signed-off-by: Emil Velikov <[email protected]>
* targets/egl: fold in target LDFLAGS variablesEmil Velikov2014-09-241-4/+2
| | | | | | | Both variables are identical thus we can fold them into AM_LDFLAGS. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* targets: drop the old MEGADRIVERS & STATIC_TARGET... variablesEmil Velikov2014-09-247-55/+26
| | | | | | | No longer used/needed as of last commit. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/softpipe,llvmpipe: add automake target 'templates'Emil Velikov2014-09-244-30/+26
| | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* configure: remove NEED_{SOFT,LLVM}PIPE_DRIVER variablesEmil Velikov2014-09-243-4/+4
| | | | | | | | | The respective HAVE_{SOFT,LLVM}PIPE are already descriptive enough. Additionally the svga modules does not really use either one, but the auxiliary draw & gallivm modules. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/vc4: add automake target 'templates'Emil Velikov2014-09-242-11/+14
| | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/r300,r600,radeonsi: add automake target 'templates'Emil Velikov2014-09-249-168/+72
| | | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Christian König <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/svga: add automake target 'template'Emil Velikov2014-09-245-25/+14
| | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/ilo: add automake target 'template'Emil Velikov2014-09-245-29/+15
| | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/i915: add automake target 'template'Emil Velikov2014-09-245-29/+15
| | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/freedreno: add automake target 'template'Emil Velikov2014-09-245-33/+15
| | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/nouveau: add automake target 'template'Emil Velikov2014-09-248-69/+66
| | | | | | | | Rather than duplicating the libdeps, extra define... all over the targets, define them only once and use when applicable. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* targets/pipe-loader: drop unused authenticationEmil Velikov2014-09-246-8/+6
| | | | | | | | | The dri, vdpau, omx, xvmc and gbm targets don't need any authentication even the VL ones never used it. Either the respective loader or the library itself (vl) is doing its auth prior to calling create_screen() Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* targets/vl: fix hard-links when building shared pipe-driversEmil Velikov2014-09-243-6/+6
| | | | | | | | | Make sure that MEGADRIVERS is set in order to create the hardlinks. The variable name is not the most appropriate and will be sorted out in upcoming commits. Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/freedreno: remove unused draw headerEmil Velikov2014-09-241-1/+0
| | | | | Signed-off-by: Emil Velikov <[email protected]> Acked-by: Matt Turner <[email protected]>
* gallium/r300: remove obsolete declarationEmil Velikov2014-09-241-1/+0
| | | | | | | | | The definition of rc_pair_regalloc_inputs_only() is no longer around so drop the declaration. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Acked-by: Matt Turner <[email protected]>
* vc4: Drop maximum number of varyings down to 8.Eric Anholt2014-09-241-1/+4
| | | | | | | | | | | There are only 32 bits in the flatshade flags (which are 1 bit per component), the simulator crashes when you use more than about this many varyings, and the original Broadcom code drop only exposed 8 as well. Fixes 26 piglit tests in the varying-packing group, and makes many others go from crash to fail (due to not checking their varying counts and treating link failures as failures). Regresses ARB_fp/minmax (due to 8 varyings instead of 10).
* vc4: Add support for flat shading.Eric Anholt2014-09-235-2/+33
| | | | | | | This is just the GL 1.1 flat shading of colors -- we don't need to support TGSI constant interpolation bits, because we don't do GLSL 1.30. Fixes 7 piglit tests.
* vc4: Drop stale comment.Eric Anholt2014-09-231-1/+0
| | | | This should have been in 001247d230f022fffac68f4578348087a53d3940.
* vc4: Put dead writes into the NOP register when generating code.Eric Anholt2014-09-231-1/+8
| | | | | | | | They still provide register pressure since I haven't made a special class for them, but since they're only live for one instruction it probably doesn't matter. This improves the readability of QPU assembly.
* vc4: When possible, resolve raddr conflicts by swapping files on specials.Eric Anholt2014-09-231-5/+29
| | | | Cleans up a bunch of ugliness in perspective interpolation.
* vc4: Fix overzealous raddr conflict resolution.Eric Anholt2014-09-231-5/+7
| | | | | We only need to do the fixup when both args are in the same file, not just when both are in physical registers.
* vc4: Add support for 8-bit unorm/snorm vertex inputs.Eric Anholt2014-09-236-16/+101
|
* vc4: Add disasm for A-file unpack operations.Eric Anholt2014-09-233-22/+26
| | | | | | The A-file unpack is just like R4 unpack, except that if you don't do a floating-point operation it won't do float conversion (so int16 gets scaled up to int32).
* vc4: Switch to using Mesa's register allocator.Eric Anholt2014-09-235-114/+121
| | | | | | | | | This will let me more reliably allocate a-file registers, which are going to be even more in demand when I start using a-file unpacks. Also fixes a bug where the reservation of payload registers (FRAG_Z/W) was off by one but just caused failure to register allocate at all if the off-by-one was fixed.