summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* glsl: handle same struct redeclaration (v2)Dave Airlie2016-05-203-4/+11
| | | | | | | | | | | | | | | | This works around a bug in older version of UE4, where a shader defines the same structure twice. Although we aren't sure this is correct GLSL (it most likely isn't) there are enough UE4 based things out there we should deal with this. This drops the error to a warning if the struct names and contents match. v1.1: do better C++ on record_compare declaration (Rob) v2: restrict this to desktop GL only (Ian) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95005 Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* i965/fs: Recognize and emit ld_lz, sample_lz, sample_c_lz.Matt Turner2016-05-191-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ken suggested instead of a big and complicated optimization pass, to just recognize the operations here. It's certainly less code and a lot prettier, but it seems to actually perform worse for currently unknown reasons. total instructions in shared programs: 8923452 -> 8904108 (-0.22%) instructions in affected programs: 814563 -> 795219 (-2.37%) helped: 3336 HURT: 10 total cycles in shared programs: 66970734 -> 66651476 (-0.48%) cycles in affected programs: 10582686 -> 10263428 (-3.02%) helped: 2438 HURT: 691 total spills in shared programs: 1811 -> 1789 (-1.21%) spills in affected programs: 85 -> 63 (-25.88%) helped: 4 total fills in shared programs: 3143 -> 3109 (-1.08%) fills in affected programs: 167 -> 133 (-20.36%) helped: 4 LOST: 2 GAINED: 36 Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Add infrastucture for sample lod-zero operations.Matt Turner2016-05-196-0/+33
| | | | Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Add and use get_nir_src_imm().Matt Turner2016-05-192-4/+19
| | | | | | | | The next patch wants to inspect the LOD argument and do something different if it's 0.0f. But at that point we've emitted a MOV for it and we just have a register to look at. Reviewed-by: Kenneth Graunke <[email protected]>
* nvc0: account for shader-allocated local memory needsIlia Mirkin2016-05-192-2/+2
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]>
* nv50/ir: treat addresses as localIlia Mirkin2016-05-191-1/+1
| | | | | | | | | Address registers are always loaded right before use. Don't treat them as "global", which will cause them to be put into the function's linkage, and will make the register allocator hold onto that register until the end of the function. Signed-off-by: Ilia Mirkin <[email protected]>
* swr: [rasterizer] utility functions for shared libsTim Rowley2016-05-192-2/+64
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer jitter] fix assert in AVX implementation of MASKLOADDTim Rowley2016-05-191-2/+7
| | | | | | llvm changed the mask type to vector of ints with 3.8. Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] apply KNOB_TOSS_DRAW to more functionsTim Rowley2016-05-191-0/+20
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer jitter] add instancing to non-gather fetch pathTim Rowley2016-05-191-5/+37
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] move MultisampleTrait static from header to cppTim Rowley2016-05-193-4/+7
| | | | | | | Move a MultisampleTrait static from header to cpp as clang seemed to get confused with some specializations in the header vs some in cpp. Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] clang override for _mm_undefined*Tim Rowley2016-05-191-1/+1
| | | | | | Not supported in older xcode versions. Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer common] add OSX to unix portability sectionsTim Rowley2016-05-192-2/+9
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer] rename _aligned_malloc to AlignedMallocTim Rowley2016-05-198-25/+40
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer jitter] rename MEMCPY function to MEMCOPYTim Rowley2016-05-191-1/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer common] guard definition of __cdecl/__stdcallTim Rowley2016-05-191-0/+4
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer common] include cstddef for offsetofTim Rowley2016-05-191-0/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] removed tabs that snuck inTim Rowley2016-05-191-4/+4
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] code style cleanupTim Rowley2016-05-191-22/+24
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] add dummy code for cygwin buildTim Rowley2016-05-191-0/+14
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] move variable query outside loopTim Rowley2016-05-191-1/+2
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] utility function for getenvTim Rowley2016-05-191-0/+17
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer common] portable threadviz bucketsTim Rowley2016-05-191-2/+11
| | | | | | Output with slashes instead of backslashes for unix/linux. Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer common] foreground win32 assert dialogTim Rowley2016-05-191-1/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: [rasterizer core] use parens to disambiguate operator precedenceTim Rowley2016-05-191-1/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* swr: standardize linkage and check for unresolved symbolsTim Rowley2016-05-191-1/+7
| | | | Acked-by: Emil Velikov <[email protected]>
* swr: fix swr linkage so that static llvm worksTim Rowley2016-05-191-1/+10
| | | | Reviewed-by: Emil Velikov <[email protected]>
* swr: PIPE_CAP_CULL_DISTANCE cap request responseTim Rowley2016-05-191-0/+1
| | | | Reviewed-by: Bruce Cherniak <[email protected]>
* st/va: use drm render node for wayland display typeLeo Liu2016-05-191-1/+1
| | | | | | | | | | With xwayland, vainfo use VA_DISPLAY_WAYLAND as default and it fails and fails when specify display with `vainfo --display wayland`. In fact wayland support for libva uses drm path to connect device, and should use drm pipe loader to create screen. Signed-off-by: Leo Liu <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
* gallium/radeon: small cleanups in r600_texture_transfer_mapMarek Olšák2016-05-191-13/+9
| | | | Reviewed-by: Nicolai Hähnle <[email protected]>
* gallium/radeon: don't set PB_USAGE in winsysesMarek Olšák2016-05-192-4/+0
| | | | | | There is no point. Reviewed-by: Nicolai Hähnle <[email protected]>
* gallium/radeon: handle VRAM_GTT placements as having slow CPU readsMarek Olšák2016-05-192-2/+2
| | | | | | not sure if we should include GTT WC too Reviewed-by: Nicolai Hähnle <[email protected]>
* gallium/radeon: ignore PIPE_TRANSFER_MAP_DIRECTLYMarek Olšák2016-05-191-5/+1
| | | | | | Only st/xa is using this, which is irrelevant to us. Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: add a workaround for a bug in LLVM <= 3.8Marek Olšák2016-05-191-0/+7
| | | | | | This is not directly applicable to stable and needs to be backported. Reviewed-by: Nicolai Hähnle <[email protected]>
* i965/fs: Silence warnings related to use of uninitialized valuesEduardo Lima Mitev2016-05-191-2/+2
| | | | | | | | | | | | | | | | | | | brw_fs.cpp: In function ‘const unsigned int* brw_compile_fs(const [...] brw_fs.cpp:6093:64: warning: ‘simd16_grf_start’ may be used uninitialized [...] prog_data->base.dispatch_grf_start_reg = simd16_grf_start; brw_fs.cpp:5996:29: note: ‘simd16_grf_start’ was declared here uint8_t simd8_grf_start, simd16_grf_start; brw_fs.cpp:6094:52: warning: ‘simd16_grf_used’ may be used uninitialized [...] prog_data->reg_blocks_0 = brw_register_blocks(simd16_grf_used); brw_fs.cpp:5997:29: note: ‘simd16_grf_used’ was declared here unsigned simd8_grf_used, simd16_grf_used; (and more) Reviewed-by: Anuj Phogat <[email protected]>
* vc4: Size transfer temporary mappings appropriately for full maps of 3D.Eric Anholt2016-05-181-2/+2
| | | | | | | | | We don't really support reading/writing of 3D textures since the hardware doesn't do 3D, but we do need to make sure that a pipe_transfer for them has enough space to store the image. This was previously not a problem because the state tracker only mapped a slice at a time until fb9fe352ea41c7e3633ba2c483c59b73c529845b. Fixes glean glsl1 tests, which all have setup of a 3D texture at the start.
* anv/device: Fix viewportBoundsRangeNanley Chery2016-05-181-1/+1
| | | | | | | | | | | | Align with the spec requirement that the range must be at least [−2 × maxViewportDimensions, 2 × maxViewportDimensions − 1]. Our hardware supports this. Fixes dEQP-VK.api.info.device.properties Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94896 Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
* glsl/linker: attempt to match anonymous structures at linkDave Airlie2016-05-191-9/+15
| | | | | | | | | | | This is my attempt at fixing at least one of the UE4 bugs with GL4.3. If we are doing intrastage matching and hit anonymous structs, then we should do a record comparison instead of using the names. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95005 Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* anv/batch_chain: free pointers for error casesMark Janes2016-05-181-2/+2
| | | | | | | | Trivial fix to improperly handled cleanup during VK_ERROR_OUT_OF_HOST_MEMORY. Identified by Coverity: CID 1358908 and 1358909 Reviewed-by: Jason Ekstrand <[email protected]>
* st/nine: Minor change to support musl libcWang He2016-05-182-8/+9
| | | | | | | | | | | A few changes to support musl libc as well. In particular fpu_control.h is glibc specific. fenv.h doesn't enable to do exactly what we want either, so instead use assembly directly. Signed-off-by: Wang He <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Enable D3DPMISCCAPS_PERSTAGECONSTANTPatrick Rudolph2016-05-181-1/+1
| | | | | | | | | | Nine already supports the feature. There are no failing WINE tests for per stage constants. Enabling D3DPMISCCAPS_PERSTAGECONSTANT as it fixes https://github.com/iXit/Mesa-3D/issues/205 Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Turn on thread_submit by default when on different deviceAxel Davy2016-05-181-10/+12
| | | | | | | | The last remaining issues with thread_submit have been resolved, thus turn it when on a different device (the case where is is beneficial). Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix usage of rasterizer multisample bit.Axel Davy2016-05-184-10/+32
| | | | | | | | | | | pipe_rasterizer multisample bit should be enabled only when really wanting to do multisampling, thus we should disable when not having msaa render target. This fixes some depth calculation precision issues on radeon. Also disable it when depth and stencil tests are disabled, since in that case multisampling is same as not multisampled. Signed-off-by: Axel Davy <[email protected]>
* st/nine: ATOC has effect only with ALPHATESTENABLEAxel Davy2016-05-183-2/+13
| | | | | | | ATOC extension does something only when alpha test is enabled. Use a second bit to encode the difference with ATIATOC. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add debug string for ATOCAxel Davy2016-05-181-0/+1
| | | | | | We were missing a debug string for this format. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Add asserts for output/input packingAxel Davy2016-05-181-0/+2
| | | | | | | | | | Nine doesn't support vs output/ps input packing. We haven't found any application requiring that, and implementing it properly is complex. Add asserts for now. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Use correct PIPE_HANDLE_USAGE flag for frontbuffer copyAxel Davy2016-05-181-5/+8
| | | | | | | When taking screenshots we do a copy from the frontbuffer to an allocated buffer (which we then copy to a ram buffer). Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix output shift calculationAxel Davy2016-05-181-2/+2
| | | | | | We were getting it wrong for negative values. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Fix CheckDeviceFormat advertising for surfacesAxel Davy2016-05-181-0/+12
| | | | Signed-off-by: Axel Davy <[email protected]>
* st/nine: Improve buffer placementAxel Davy2016-05-181-4/+30
| | | | Signed-off-by: Axel Davy <[email protected]>