summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* nir: coverity unitialized pointer readRob Clark2016-05-201-0/+2
| | | | | | | | | Not sure how coverity arrives at the conclusion that we can read comp[j] unitialized (around line 204), other than not being aware that ncomp is greater than 1 so it won't underflow in the 'if (tex->is_array)' case. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* nir: coverity sign-extension fixRob Clark2016-05-201-1/+1
| | | | | | | | | | | | | | | | Not 100% sure, but I think being an unsigned literal will help: CID 1358505 (#1 of 1): Unintended sign extension (SIGN_EXTENSION)sign_extension: Suspicious implicit sign extension: load1->def.num_components with type unsigned char (8 bits, unsigned) is promoted in load1->def.num_components * (load1->def.bit_size / 8) to type int (32 bits, signed), then sign-extended to type unsigned long (64 bits, unsigned). If load1->def.num_components * (load1->def.bit_size / 8) is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* nir/glsl_to_nir: quell some uninit_member coverity errorsRob Clark2016-05-201-0/+6
| | | | | Signed-off-by: Rob Clark <[email protected]> Acked-by: Matt Turner <[email protected]>
* freedreno/ir3: need to lower fmod tooRob Clark2016-05-201-0/+2
| | | | Signed-off-by: Rob Clark <[email protected]>
* i965: Fix strerror error code signMark Janes2016-05-201-1/+1
| | | | | | | This trivial fix to error-handling corrects the sign of drm error codes before passing them to strerror. Identified by Coverity: CID1358581
* nir/spirv: Handle the NonReadable decoration on struct membersJason Ekstrand2016-05-191-0/+1
|
* anv/pipeline: Bounds-check resource indices when robuts_buffer_access is enabledJason Ekstrand2016-05-191-17/+35
|
* anv/pipeline: Only do buffer bounds checks if robustBufferAccess is enabledJason Ekstrand2016-05-191-1/+7
|
* anv/apply_dynamic_offsets: Use rewrite_src instead of a regular assignmentJason Ekstrand2016-05-191-4/+5
| | | | | | Originally we removed the instruction, changed the source, and then re-inserted it. This works, but nir_instr_rewrite_src is a bit more obviously correct.
* anv/device: Add a boolean for robust buffer accessJason Ekstrand2016-05-192-0/+4
|
* anv: Add a TODO fileJason Ekstrand2016-05-191-0/+23
|
* 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]>
* docs: add swr to GL3.txtTim Rowley2016-05-191-41/+41
| | | | | | v2: not on gl3.3 list until gl3.2 is complete 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]>