summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi/nir: add prim_mask to the abiTimothy Arceri2018-01-311-3/+4
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: adjust load_sample_position() to be shared between backendsTimothy Arceri2018-01-311-2/+3
| | | | | | | With this interface change it can be shared between the tgsi and nir backends. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: add si_nir_lookup_interp_param() helperTimothy Arceri2018-01-312-0/+40
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: move the interpolation qualifier scanningTimothy Arceri2018-01-311-16/+36
| | | | | | | | We need to collect this when scanning over the instruction rather than when scanning over the inputs otherwise we might get confliting values for inputs that are use by the interpolateAt* builtins. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: add interpolate at intrinsics to scan_instruction()Timothy Arceri2018-01-311-0/+30
| | | | | | V2: use the uses_*_opcode_interp_* flags Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: fix fence_server_sync() holding up extra work v2Andres Rodriguez2018-01-302-25/+28
| | | | | | | | | | | | | | | When calling si_fence_server_sync(), the wait operation is associated with the next kernel submission. Therefore, any unflushed work submitted previous to fence_server_sync() will also be affected by the wait. To avoid adding the dependency to the unflushed work, we flush before emitting the fence dependency. v2: s/semaphore/fence Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: implement semaphore_server_signal v2Andres Rodriguez2018-01-301-0/+37
| | | | | | | | | | | Syncobj based waits or signals only happen at submission boundaries. In order to guarantee that the requested signal event will occur when the state tracker requested it, we must issue a flush. v2: s/fence/semaphore for pipe objects Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: add support for importing PIPE_FD_TYPE_SYNCOBJ semaphoresAndres Rodriguez2018-01-301-6/+20
| | | | | | | Hook up importing semaphores of type PIPE_FD_TYPE_SYNCOBJ Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* winsys/amdgpu: add support for syncobj signaling v3Andres Rodriguez2018-01-303-1/+98
| | | | | | | | | | Add the ability to signal a syncobj when a cs completes execution. v2: corresponding changes for gallium fence->semaphore rename v3: s/semaphore/fence for pipe objects Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* u_threaded_context: add support for fence_server_signal v2Andres Rodriguez2018-01-302-0/+21
| | | | | | | v2: s/semaphore/fence Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium: add fence_server_signal() v2Andres Rodriguez2018-01-302-0/+37
| | | | | | | | | | Calling this function will emit a fence signal operation into the GPU's command stream. v2: documentation typos Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium: introduce PIPE_FD_TYPE_SYNCOBJAndres Rodriguez2018-01-301-0/+1
| | | | | | | | Denotes that a fd is backed by a synobj. For example, radv shared semaphores. Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium: introduce PIPE_CAP_FENCE_SIGNAL v2Andres Rodriguez2018-01-3018-1/+18
| | | | | | | | | Protects semaphore signaling functionality required by GL_EXT_semaphore. v2: s/semaphore/fence Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* gallium: add type parameter to create_fence_fdAndres Rodriguez2018-01-3011-15/+35
| | | | | | | | | | | An fd can potentially have different types of objects backing it. Specifying the type helps us make sure we treat the FD correctly. This is in preparation to allow importing syncobj fence FDs in addition to native sync FDs. Signed-off-by: Andres Rodriguez <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* r600/sb: insert the else clause when we might depart from a loopDave Airlie2018-01-311-0/+17
| | | | | | | | | | | | | | If there is a break inside the else clause and this means we are breaking from a loop, the loop finalise will want to insert the LOOP_BREAK/CONTINUE instruction, however if we don't emit the else there is no where for these to end up, so they will end up in the wrong place. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101442 Tested-By: Gert Wollny <[email protected]> Cc: <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* svga: Check rasterization state object before checking poly_stipple_enableNeha Bhende2018-01-291-1/+1
| | | | | | | | | | | | | | Sometimes rasterization state object could be empty. This is causing segfault on hw8,9,10 for some traces. This patch fixes enemy_territory_quake_wars_high, enemy_territory_quake_wars_low, etqw-demo, lightsmark2008, quake1 glretrace crashes on hw 8,9,10. Tested with mtt-glretrace and mtt-piglit. Reviewed-by: Charmaine Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* svga: Adjust alpha for S3TC_DXT1_EXT RGB formatsNeha Bhende2018-01-291-0/+4
| | | | | | | | | | | | According to spec, S3TC_DXT1_EXT RGB formats are supposed to be opaque. Correspoding svga formats are not handling it so explicitly setting it to 1.0. This fixes piglit test spec@ext_texture_compression_s3tc@s3tc-targeted Note: This test is testcase for freedesktop bug 100925 Tested with mtt-piglit and mtt-glretrace on 8,9,10,11 and 15 Reviewed-by: Brian Paul <[email protected]>
* radeonsi/nir: add support vs double inputsTimothy Arceri2018-01-301-0/+5
| | | | Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: pass input_idx to declare_nir_input_vs()Timothy Arceri2018-01-301-2/+3
| | | | | | | This make it consistent with declare_nir_input_fs() and will allow us to support doubles. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi: add bitcast_inputs() helperTimothy Arceri2018-01-301-6/+15
| | | | | | Will be used in a following patch to help support doubles. Reviewed-by: Marek Olšák <[email protected]>
* radeonsi/nir: fix num_inputs for doubles in vsTimothy Arceri2018-01-301-5/+8
| | | | Reviewed-by: Marek Olšák <[email protected]>
* r600: add ARB_query_buffer_object supportDave Airlie2018-01-2910-31/+817
| | | | | | | | | | | | | | This uses a different shader than radeonsi, as we can't address non-256 aligned ssbos, which the radeonsi code does. This passes some extra offsets into the shader. It also contains a set of u64 instruction implementation that may or may not be complete (at least the u64div is definitely not something that works outside this use-case). If r600 grows 64-bit integers, it will use the GLSL lowering for divmod. Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600/shader: refactor mul hi/lo instruction emissionDave Airlie2018-01-291-254/+116
| | | | | | | This just makes it a bit simpler for cayman vs eg Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600/eg: construct proper rat mask for image/buffers.Dave Airlie2018-01-293-8/+30
| | | | | | | | | | If the images/buffer bindings had a gap, this produced the wrong values, this should fix that to generate the correct rat mask for mixes of images/buffers/cbs. Reviewed-by: Roland Scheidegger <[email protected]> Cc: "18.0" <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* broadcom/vc5: Don't forget to get the BO offset when opening a dmabuf.Eric Anholt2018-01-271-0/+12
| | | | Fixes black display in DRI due to storing to 0x00000000.
* broadcom/vc5: Enable the driver on V3D 4.2.Eric Anholt2018-01-271-1/+6
| | | | | | The changes in 4.2 haven't impacted any of our CL or state struct entries that I can see, so I haven't enabled custom compile for doing 4.2 instead of 4.1.
* ac: rename and move si_const_array into common codeMarek Olšák2018-01-273-18/+9
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* ac: move address space definitions to common codeMarek Olšák2018-01-271-8/+3
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* ac: don't use byval LLVM qualifier in shadersMarek Olšák2018-01-273-15/+5
| | | | | | | shader-db doesn't show any regression and 32-bit pointers with byval are declared as VGPRs for some reason. Reviewed-by: Samuel Pitoiset <[email protected]>
* gallium/radeon: set number of pb_cache buckets = number of heapsMarek Olšák2018-01-275-53/+25
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* pb_cache: let drivers choose the number of bucketsMarek Olšák2018-01-277-11/+28
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* pb_cache: call os_time_get outside of the loopMarek Olšák2018-01-271-6/+6
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* gallium/radeon: simplify radeon_flags_from_heapMarek Olšák2018-01-271-14/+8
| | | | Reviewed-by: Samuel Pitoiset <[email protected]>
* winsys/amdgpu: fix assertion failure with UVD and VCE ringsMarek Olšák2018-01-261-2/+1
| | | | Cc: 18.0 <[email protected]>
* ac: pass the number of channels to ac_build_buffer_load_format()Samuel Pitoiset2018-01-262-2/+2
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: Export signalled sync file instead of -1.Bas Nieuwenhuizen2018-01-263-0/+29
| | | | | | | | -1 is considered an error for EGL_ANDROID_native_fence_sync, so we need to actually create a sync file. Fixes: f536f45250 "radeonsi: implement sync_file import/export" Reviewed-by: Dave Airlie <[email protected]>
* swr/rast: Optimize DumpToFile output sizeGeorge Kyriazis2018-01-251-2/+1
| | | | | | | Modify DumpToFile to only dump the function, not the entire module. Reduces file sizes and speeds up the dumping. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Updated copyright datesGeorge Kyriazis2018-01-253-3/+3
| | | | | | on knob-related files. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Move memory-related JIT functionsGeorge Kyriazis2018-01-257-818/+894
| | | | | | | Move them to their own file (builder_mem.{h|cpp}). Add builder_mem.cpp to the build system. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Add extra (optional) parameter in GATHERPSGeorge Kyriazis2018-01-254-5/+10
| | | | | | | Now also takes in an additional parameter (draw context) for future expansion. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Better ExecCmd (i.e. system()) implmentationGeorge Kyriazis2018-01-253-34/+169
| | | | | | | | | Hides console window creation during JIT linker execution in apps that don't have a console. Remove hooking of CreateProcessInternalA - the MSFT implementation just turns around and calls CreateProcessInternalW which, we do hook. Reviewed-by: Bruce Cherniak <[email protected]>
* swr/rast: Support USE_SIMD16_FRONTEND=0 for EarlyRastGeorge Kyriazis2018-01-251-33/+33
| | | | | | | | Early Rasterization did not initially work with USE_SIMD16_FRONTEND=0. Fix it so it works there, too. Please note that the default setting is USE_SIMD16_FRONTEND=1. Reviewed-by: Bruce Cherniak <[email protected]>
* svga: s/Bool/SVGA3dBool/ in SVGA3dDevCapResultBrian Paul2018-01-251-3/+3
| | | | | | And fix whitespace. To sync up with in-house code. Reviewed-by: Charmaine Lee <[email protected]>
* automake: small cleanup after the meson.build inclusionEmil Velikov2018-01-252-2/+2
| | | | | | | | | Namely extend the EXTRA_DIST list, instead of re-assigning it and bring back a file dropped by mistake. Fixes: 436ed65d38d ("autotools: include meson build files in tarball") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
* automake: vc5: remove non-applicable v3dx_simulator.hEmil Velikov2018-01-251-1/+0
| | | | Signed-off-by: Emil Velikov <[email protected]>
* gallivm: fix crash with seamless cube filtering with different min/mag filterRoland Scheidegger2018-01-251-17/+21
| | | | | | | | | | | | | | We are not allowed to modify the incoming coords values, or things may crash (as we may be inside a llvm conditional and the values may be used in another branch). I recently broke this when fixing an issue with NaNs and seamless cube map filtering, and it causes crashes when doing cubemap filtering if the min and mag filters are different. Add const to the pointers passed in to prevent this mishap in the future. Fixes: a485ad0bcd ("gallivm: fix an issue with NaNs with seamless cube filtering") Reviewed-by: Jose Fonseca <[email protected]>
* swr/rast: support llvm 3.9 type declarationsGeorge Kyriazis2018-01-251-0/+14
| | | | | | | | | | LLVM 3.9 was not taken into account in initial check-in. Fixes: 01ab218bbc ("swr/rast: Initial work for debugging support.") cc: [email protected] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104749 Acked-by: Emil Velikov <[email protected]> Reviewed-by: Bruce Cherniak <[email protected]>
* meson: fix missing dependenciesGreg V2018-01-241-1/+1
| | | | | | Fixes: 66f97f6640f5 ("meson: build radeonsi") Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* gallium/u_tests: add texture_barrier and FBFETCH testsMarek Olšák2018-01-241-1/+110
| | | | | Tested-by: Dieter Nützel <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: don't ignore pitch for imported texturesMarek Olšák2018-01-241-2/+12
| | | | | | Cc: 17.2 17.3 <[email protected]> Tested-by: Dieter Nützel <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>