summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* freedreno/ir3: fix potential null ptr derefRob Clark2014-08-301-1/+2
| | | | | | Fix potential segfault in debug code. Signed-off-by: Rob Clark <[email protected]>
* freedreno/ir3: add TXBRob Clark2014-08-301-0/+5
| | | | Signed-off-by: Rob Clark <[email protected]>
* freedreno/ir3: detect scheduler failRob Clark2014-08-303-4/+21
| | | | | | | | | | | | | | | | | | | | There are some cases where the scheduler can get itself into impossible situations, by scheduling the wrong write to pred or addr register first. (Ie. it could end up being unable to schedule any instruction if some instruction which depends on the current addr/reg value also depends on another addr/reg value.) To solve this we'd need to be able to insert extra mov instructions (which would also help when register assignment gets into impossible situations). To do that, we'd need to move the nop padding from sched into legalize. But to start with, just detect when we get into an impossible situation and bail, rather than sitting forever in an infinite loop. This way it will at least fall back to the old compiler, which might even work if you are lucky. Signed-off-by: Rob Clark <[email protected]>
* gallivm: fix somewhat broken NaN behavior for exp2Roland Scheidegger2014-08-302-13/+25
| | | | | | | | | | | I actually screwed that up in 754319490f6946a9ad5ee619822d5fe4254e6759, mistakenly thinking the code actually wanted the non-nan result before. So, introduce that missing nan behavior case and use that instead. For sse, there's no actual change in the resulting code at all, the fallback code wouldn't have done the right thing though. Of course, the actual issue I saw with pow() was completely unrelated... Reviewed-by: Jose Fonseca <[email protected]>
* softpipe: handle vertex texture sampling when using llvm for drawRoland Scheidegger2014-08-309-36/+209
| | | | | | | | | | | | | Pretty trivial, just fill in the offsets and such. The implementation is near 100% copy and paste from llvmpipe. Should be useful for debugging. No piglit change when not using SOFTPIPE_USE_LLVM=1. Now that it can do the same tests with and without using llvm for vs/gs, with llvm more pass, the only things failing only with llvm seems to be edgeflags tests and vs/gs-pow-float-float (and for the latter I'm not convinced the zero tolerance it requires is somehow mandated by glsl). Reviewed-by: Jose Fonseca <[email protected]>
* llvmpipe: (trivial) enable cube map arraysRoland Scheidegger2014-08-301-1/+2
| | | | | | | | The code is all in place now so enable it. Seems to pass all relevant piglit tests (just like cube maps, some of the cube map array tests need GALLIVM_DEBUG=no_quad_lod,no_rho_approx) Reviewed-by: Jose Fonseca <[email protected]>
* gallivm: handle cube map arrays for texture samplingRoland Scheidegger2014-08-305-44/+107
| | | | | | | | | | | | | | | Pretty easy, just make sure that all paths testing for PIPE_TEXTURE_CUBE also recognize PIPE_TEXTURE_CUBE_ARRAY, and add the layer * 6 calculation to the calculated face. Also handle it for texture size query, looks like OpenGL wants the number of cubes, not layers (so need division by 6). No piglit regressions. v2: fix up adding cube layer to face for seamless filtering (needs to happen after calculating per-sample face). Undetected by piglit unfortunately. Reviewed-by: Jose Fonseca <[email protected]> (v1)
* draw: kill off bogus assertion in tgsi_fetch_gs_outputsRoland Scheidegger2014-08-301-3/+2
| | | | | | | | | | | | Not sure why it was there but it is definitely not an error if gs outputs are infs/nans. Besides, the outputs can be ints, in which case any small negative number asserted. This fixes piglit's texelFetch gs isamplerXX crashes with softpipe (down from 14 to 2). Bug https://bugs.freedesktop.org/show_bug.cgi?id=80012 Reviewed-by: Jose Fonseca <[email protected]>
* softpipe: don't assert on illegal wrap mode for rect texturesRoland Scheidegger2014-08-301-2/+2
| | | | | | | | | | | | | | piglit tex-miplevel-selection nowadays doesn't use repeat wrap mode due to sampler objects any longer, however at the time of the clear the wrap mode is still illegal and at this point we get to verify the state, including samplers (even though they won't get used), and because mesa doesn't treat it as an incomplete texture as the spec says it should, we hit the assertion. Just warn about this for now instead. Gets crashes down from 44 to 14 in a piglit run (all were in various tests of tex-miplevel-selection with texture rectangles). Though just about all tex-miplevel-selection tests fail anyway for other reasons. Reviewed-by: Jose Fonseca <[email protected]>
* tgsi: (trivial) fix handling msaa resources on TXFRoland Scheidegger2014-08-301-1/+4
| | | | | | | | | | | | Just handle as ordinary 2d / 2d array resources. Prevents an assertion failure with softpipe and piglit glsl-resource-not-bound 2DMS/2DMSArray tests. While here also fix TXD shadowCube similarly, which fixes the crash with piglit tex-miplevel-selection textureGrad CubeShadow (the test will still fail due to softpipe being broken). This fixes https://bugs.freedesktop.org/show_bug.cgi?id=80011 Reviewed-by: Jose Fonseca <[email protected]>
* draw: remove fishy num_samplers/num_sampler_views check in llvm pathRoland Scheidegger2014-08-301-5/+1
| | | | | | | | | | | | | | | | | | | | This was meant for softpipe to not crash at some point if vertex texturing was used. It is, however, fishy because it uses values from draw_set_samplers/draw_set_sampler_views and not from the shader key. Albeit we should still in all cases actually generate a new shader if this changes (because the samplers and views themselves are in the key) I don't want to think again wondering if that's really correct in the future. Besides, at least today, it does not actually work for softpipe, as this was relying on softpipe not actually calling draw_set_samplers/sampler_views at all - I've verified it crashes regardless (if there were a tex instruction in the vs, which normally should not happen anyway). For drivers which do indeed not call these functions because they don't support vertex texturing at all (r300), this should still not crash because the static texture data is all zero, which causes the sampling functions to take an early out (same as is done if no texture is bound at the slot used for sampling - verified with hacked up softpipe). Reviewed-by: Jose Fonseca <[email protected]>
* r600/compute: Don't leak compute pool item_list/unallocated_listAaron Watry2014-08-291-0/+6
| | | | | | | | v3: Fix multi-line comment format v2: Change to C-style comments and fix indentation Signed-off-by: Aaron Watry <[email protected]> Reviewed-by: Bruno Jiménez <[email protected]>
* u_vbuf: Make sure all caps are initializedMichel Dänzer2014-08-291-24/+16
| | | | | | | Pointed out by valgrind. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83148 Reviewed-by: Alex Deucher <[email protected]>
* r600g: Reinstate include path to common radeon source directoryMichel Dänzer2014-08-291-1/+2
| | | | | | | | | | | | Fixes build failure since commit a131263a2f19507ca0d2f6093672d930a7c054d1 ('gallium/radeon: cleanup header inclusion'): ../../../../../src/gallium/drivers/r600/evergreen_compute.c:50:30: fatal error: radeon_llvm_util.h: No such file or directory #include "radeon_llvm_util.h" ^ compilation terminated. Trivial.
* nouveau: allow more tokens by default to avoid parse failuresIlia Mirkin2014-08-281-2/+4
| | | | | | Also print a note saying that parsing failed to help isolate issues. Signed-off-by: Ilia Mirkin <[email protected]>
* targets/haiku-softpipe: explicitly prefix sw/hgl headerEmil Velikov2014-08-282-2/+2
| | | | | | Cc: Alexander von Gluck IV <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* sw/hgl: struct haiku_displaytarget is not public structEmil Velikov2014-08-282-23/+21
| | | | | | | | It is meant to be private within the actual winsys. Remove it from the exported header, and fold it into it's only user. Cc: Alexander von Gluck IV <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* hgl: trivial bitsEmil Velikov2014-08-284-3/+11
| | | | Signed-off-by: Emil Velikov <[email protected]>
* gallium/targets: Break haiku state_tracker out to own directoryAlexander von Gluck IV2014-08-2811-137/+156
| | | | Ack'ed by Emil Velikov <[email protected]>
* gallium/targets: Haiku softpipe, perform better framebuffer validationAlexander von Gluck IV2014-08-281-7/+13
| | | | | | | * Check for back left attachment as well * Set and act on pipe format none Ack'ed by Emil Velikov <[email protected]>
* st/egl: ship all the files in the tarballEmil Velikov2014-08-282-8/+25
| | | | | | Namely we were missing the headers and the Android/SCons buildscripts. Signed-off-by: Emil Velikov <[email protected]>
* st/clover: sort the sources listEmil Velikov2014-08-282-48/+52
| | | | Signed-off-by: Emil Velikov <[email protected]>
* st/gbm: include the header in the sources listEmil Velikov2014-08-281-1/+2
| | | | Signed-off-by: Emil Velikov <[email protected]>
* st/xlib: Include the headers in the sources list.Emil Velikov2014-08-282-2/+4
| | | | | | | | Yet another step towards a working 'make dist'. Cc: José Fonseca <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Acked-by: José Fonseca <[email protected]>
* st/omx: use makefile.sources to handle sources listsEmil Velikov2014-08-282-6/+11
| | | | | | | | ... and add the headers so that 'make check' is happy. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/vdpau: pickup/ship the private headerEmil Velikov2014-08-281-8/+9
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/vdpau: remove obsolete define VL_HANDLESEmil Velikov2014-08-282-21/+5
| | | | | | | | | | This define is always set and it had no real purpose according to git log. Seems like it is a leftover from the vl/vdpau prototype stage. Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Christian König <[email protected]>
* st/vega: add headers and SConscript in the tarballEmil Velikov2014-08-282-1/+25
| | | | Signed-off-by: Emil Velikov <[email protected]>
* st/xa: add remaining files in the tarballEmil Velikov2014-08-282-3/+6
| | | | | | | | | | | Namely - the private header (xa_priv.h) - README and - xa-indent Sort the sources list while we're here. Signed-off-by: Emil Velikov <[email protected]>
* st/xvmc: pick up the headers for distributionEmil Velikov2014-08-282-2/+5
| | | | | | | - autotools/make will pick them up in the tarball. - Sort the list alphabetically. Signed-off-by: Emil Velikov <[email protected]>
* st/xvmc: automake: move tests to noinstEmil Velikov2014-08-281-3/+4
| | | | | | | | | | | | All the tests require an installed and setup XvMC, thus they are not good candidates for 'make check'. Keep them around as the user might want to actually test the implementation post installation/setup. Cc: Ilia Mirkin <[email protected]> Cc: Tom Stellard <[email protected]> Cc: Christian König <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* winsys/sw: add the final files to the tarballEmil Velikov2014-08-287-0/+21
| | | | | | | | Add the final remaining files into the tarball (make dist), namely: - SConscripts - Non-autotooled winsys' - android, gdi and hgl. Signed-off-by: Emil Velikov <[email protected]>
* winsys/sw: automake: consistently use Makefile.sourcesEmil Velikov2014-08-2820-31/+41
| | | | | | | | - Include the headers within. - Update scons to use them. - Drop useless include (gallium/drivers) from scons. Signed-off-by: Emil Velikov <[email protected]>
* winsys/$(hw): ship the Android/SCons scripts in the tarballEmil Velikov2014-08-286-1/+11
| | | | Signed-off-by: Emil Velikov <[email protected]>
* winsys/$(hw): include headers in Makefile.sourcesEmil Velikov2014-08-288-14/+39
| | | | | | Otherwise 'make dist' will not pick them up :'( Signed-off-by: Emil Velikov <[email protected]>
* st/egl: cleanup sw winsys header inclusionsEmil Velikov2014-08-286-12/+8
| | | | | | | - Drop duplicate include compiler directives. - Leave the sw/ prefix for all the software winsys headers. Signed-off-by: Emil Velikov <[email protected]>
* winsys/radeon: move radeon_cs_dump.h to drmEmil Velikov2014-08-282-2/+2
| | | | | | | | | | ... to ease packaging (make dist). Update it to fetch libdrm's include/libs via pkg-config. Cc: Marek Olšák <[email protected]> Cc: Michel Dänzer <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium/radeon: cleanup header inclusionEmil Velikov2014-08-2832-36/+36
| | | | | | | | | | | | | | - Add top_srcdir/src/gallium/winsys to GALLIUM_DRIVER_C{XXFLAGS}. - Remove top_srcdir/src/gallium/drivers/radeon from the includes. As a result: - Common radeon headers are prefixed with 'radeon/' - Winsys header inclusion is prefixed 'radeon/drm' Cc: Marek Olšák <[email protected]> Cc: Michel Dänzer <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* winsys/svga: build: cleanup the includesEmil Velikov2014-08-282-6/+1
| | | | | | gallium/drivers is already part fo GALLIUM_WINSYS_CFLAGS. Signed-off-by: Emil Velikov <[email protected]>
* winsys/i915: remove the software winsysEmil Velikov2014-08-288-490/+0
| | | | | | | | | We stopped building it recently as it was unused and not tested. Good bye, it's been nice knowing you :) Cc: Stephane Marchesin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Acked-by: Stephane Marchesin <[email protected]>
* gallium/ilo: cleanup intel_winsys.hEmil Velikov2014-08-287-8/+13
| | | | | | | | | | | | | | | | Make the header location, inclusion and contents more common with its i915,r* and nouveau counterparts: - Move the header within drivers/ilo. - Separate out intel_winsys_create_for_fd into 'drm_public' header. - Cleanup the compiler includes. v2: Move the header to drivers/ilo. Suggested by Chia-I. v3: Correct intel_winsys.h inclusion. Spotted by Chia-I. Cc: Chia-I Wu <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* gallium: add cap for MAX_VERTEX_ATTRIB_STRIDETimothy Arceri2014-08-2715-0/+34
| | | | | Signed-off-by: Timothy Arceri <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* st/clover: Fix build against LLVM SVN >= r216583Michel Dänzer2014-08-281-0/+5
| | | | Reviewed-by: Francisco Jerez <[email protected]>
* draw: fix base instance handling in llvm pathRoland Scheidegger2014-08-285-12/+20
| | | | | | | | | | | | | The base instance needs to be passed to the jited function, otherwise the instanced data fetch will only work with the same start instance when the jit function was created (and baking that into the key instead is not a viable option). This fixes piglit arb_base_instance-drawarrays (modulo some unrelated core/compat context trouble I get for the test). And fix the pipe cap bit in llvmpipe for it now that it actually works (it already worked for softpipe). Reviewed-by: Jose Fonseca <[email protected]>
* radeon/uvd: remove comment about RV770Alex Deucher2014-08-271-1/+0
| | | | | | | It doesn't seem to support field based decode after testing. Signed-off-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]>
* radeon/uvd: fix field handling on R6XX style UVDChristian König2014-08-261-2/+5
| | | | | | The first UVD generation can only do frame based output. Signed-off-by: Christian König <[email protected]>
* vl/compositor: set the scissor before clearing the render targetChristian König2014-08-261-1/+1
| | | | | | | | Otherwise we clear areas that shouldn't be cleared. Signed-off-by: Christian König <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Cc: [email protected]
* st/vdpau: fix vlVdpOutputSurfaceRender(Output|Bitmap)SurfaceChristian König2014-08-263-15/+71
| | | | | | | | | | Correctly handle that the source_surface is only optional. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80561 Signed-off-by: Christian König <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Cc: [email protected]
* ilo: use genhw command opcodesChia-I Wu2014-08-265-134/+184
| | | | | Replace ILO_GPE_MI and ILO_GPE_CMD with magic values by descriptive genhw macros.
* ilo: rename intel_bo_map_unsynchronized()Chia-I Wu2014-08-264-13/+11
| | | | Rename it to intel_bo_map_gtt_async().