summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600g/sb: Support scratch opsGlenn Kennard2018-02-095-1/+153
| | | | | Signed-off-by: Glenn Kennard <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* r600g: Implement scratch buffer state management (v2)Glenn Kennard2018-02-096-1/+152
| | | | | | | v2: add Glenn's fixes Signed-off-by: Glenn Kennard <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* r600g: Add pending output functionGlenn Kennard2018-02-092-0/+22
| | | | | | | | Spills have to happen after the VLIW bundle currently processed, so defer emitting the spill op. Signed-off-by: Glenn Kennard <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* r600g: Support emitting scratch opsGlenn Kennard2018-02-094-1/+77
| | | | | Signed-off-by: Glenn Kennard <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* r600: fix texture gather swizzling.Dave Airlie2018-02-091-7/+7
| | | | | | | | | This fixes: KHR-GL45.texture_gather.swizzle on cayman and redwood. Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* ac: add 64bit support to ac_find_lsb()Timothy Arceri2018-02-091-2/+20
| | | | | | v2: use LLVMBuildTrunc() Reviewed-by: Marek Olšák <[email protected]>
* ac: move get_elem_bits() to ac_llvm_build.cTimothy Arceri2018-02-093-26/+30
| | | | Reviewed-by: Marek Olšák <[email protected]>
* ac: add 64bit bitCount supportTimothy Arceri2018-02-091-1/+6
| | | | | | v2: use LLVMBuildTrunc() Reviewed-by: Marek Olšák <[email protected]>
* ac/nir: clean up handle_fs_outputs_post()Samuel Pitoiset2018-02-081-26/+38
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac/nir: add radv_load_output() helperSamuel Pitoiset2018-02-081-20/+20
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac/shader: scan info about output PS declarationsSamuel Pitoiset2018-02-085-16/+52
| | | | | | | | NIR->LLVM should only be a translation pass, and all scan stuff should be done before. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac/nir: add radv_export_param() helperSamuel Pitoiset2018-02-081-21/+22
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac/nir: remove set but unused export_maskSamuel Pitoiset2018-02-082-2/+0
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac/nir: remove dead code in handle_vs_outputs_post()Samuel Pitoiset2018-02-081-8/+1
| | | | | | | The memcpy can't be reached because the condition is always false. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac/nir: remove useless check in si_llvm_init_export_args()Samuel Pitoiset2018-02-081-3/+0
| | | | | | | values can't be NULL because we use ac_build_export_null() now. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac/nir: use ac_build_export_null()Samuel Pitoiset2018-02-081-2/+1
| | | | | | | The number of enabled channels should be 0 when exporting null. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* ac: add ac_build_export_null() helperSamuel Pitoiset2018-02-083-20/+20
| | | | | | | Imported from RadeonSI. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* meson: Add build option for toolsScott D Phillips2018-02-085-7/+14
| | | | | | | | | | | | | | | Add a build option to control building some of the misc tools we have. Also set the executables to install, presumably you want that if you're asking for the build. v2: set 'install:' to the with_tools value, not true (Jordan) handle 'all' in a the comma list (Dylan) Add freedreno's tools (Dylan) Reviewed-by: Eric Anholt <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* gallium/util: silence clang warning in blitter codeBrian Paul2018-02-081-1/+1
| | | | | | | Silence "warning: comparison of constant 4294967295 with expression of type 'ubyte'". Reviewed-by: Jose Fonseca <[email protected]>
* tgsi: s/unsigned/enum tgsi_semantic/ in ureg_DECL_output()Brian Paul2018-02-081-1/+1
| | | | | | | So the function matches the prototype. Found with clang. v2: fix copy&paste error Reviewed-by: Jose Fonseca <[email protected]>
* tgsi: use TGSI_INTERPOLATE_x arguments instead of zeros in ureg codeBrian Paul2018-02-081-2/+5
| | | | | | | | | | | | TGSI_INTERPOLATE_CONSTANT and TGSI_INTERPOLATE_LOC_CENTER have the value zero so there's no change in behavior. It seems funny to declare these fs input registers with constant interpolation. But it looks like ureg_DECL_input_layout() is not called anywhere and ureg_DECL_input() is only called from util_make_geometry_passthrough_shader(). Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallium/util: s/uint/enum tgsi_semantic/ in simple shader codeBrian Paul2018-02-085-11/+11
| | | | | Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* tgsi: s/unsigned/enum pipe_shader_type/ in ureg codeBrian Paul2018-02-082-5/+9
| | | | | | | And add a default switch case to silence a compiler warning. Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallium/util: s/uint/enum tgsi_semantic/ in u_blitter.cBrian Paul2018-02-081-4/+6
| | | | | | | And put static qualifier on const arrays. Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* st/mesa: s/unsigned/enum tgsi_semantic/ st_cb_drawpixels.cBrian Paul2018-02-081-1/+1
| | | | | Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* vbo: add a comment on vbo_draw_transform_feedback()Brian Paul2018-02-081-0/+8
| | | | | Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* gallium/util: trivial whitespace/formatting fixes in u_blit.cBrian Paul2018-02-081-9/+9
| | | | | Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* vbo: improve comments on vbo_draw_func()Brian Paul2018-02-081-4/+5
| | | | | | | And rename a parameter name. Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* cso: add a couple sanity check assertions in cso_draw_vbo()Brian Paul2018-02-081-0/+6
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* st/mesa: rename some vars related to indirect draw countBrian Paul2018-02-081-6/+7
| | | | | | | | 'indirect_params' was a bit vague. Use the names that we use in gallium's pipe_draw_indirect_info. Reviewed-by: Mathias Fröhlich <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* st/mesa: remove out_num_textures from update_texturesMarek Olšák2018-02-081-20/+12
| | | | Reviewed-by: Timothy Arceri <[email protected]>
* st/mesa: don't store non-fragment sampler states and views in st_contextMarek Olšák2018-02-086-62/+61
| | | | | | | | those are unused. st_context: 10120 -> 3704 bytes Reviewed-by: Timothy Arceri <[email protected]>
* i965: perf: cleanup detection of kernel support for loadable configsLionel Landwerlin2018-02-081-15/+2
| | | | | | | | | | | | The initial revision of the patch adding loadable configs was testing the feature's availability by adding a new config successfully and then removing it. A second version tested the availability just by exercising the removal. But some unused code remained. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* i965: perf: use drmIoctl() instead of ioctl()Lionel Landwerlin2018-02-081-2/+2
| | | | | | | | | | | ioctl() might be interrupted, use drmIoctl() instead as it'll retry automatically. Fixes: 27ee83eaf7e "i965: perf: add support for userspace configurations" Cc: "18.0" <[email protected]> Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Tested-by: Mark Janes <[email protected]>
* i965: perf: add debug messages for loaded configsLionel Landwerlin2018-02-081-0/+2
| | | | | | | | This helps figuring out potential problems when metrics don't show up on frameretrace for example. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* r600: implement tg4 integer workaround. (v2)Dave Airlie2018-02-081-0/+162
| | | | | | | | | | | This ports the texture gather integer workaround from radeonsi. This fixes: KHR-GL45.texture_gather.plain-gather-uint/int* v2: add rect support, fix 2d array shadow Reviewed-by: Roland Scheidegger <[email protected]> (on irc) Signed-off-by: Dave Airlie <[email protected]>
* r600: clean up initial shader register setupGlenn Kennard2018-02-081-20/+17
| | | | | | | | This is taken from Glenn Kennards scratch series, but separated out as a cleanup by me. Reviewed-By: Gert Wollny <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* r600: partly fix sampleMaskIn valueRoland Scheidegger2018-02-081-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | The hw gives us coverage for pixel, not for individual fragment shader invocations, in case execution isn't per pixel (eg, unlike cm, actually cannot do "real" minSampleShading, it's either per-pixel or per-fragment, but it doesn't really make a difference here). Also, with msaa disabled, the hw still gives us a mask corresponding to the number of samples, where GL requires this to be 1. Fix this up by masking the sampleMaskIn bits with the bit corresponding to the sampleID, if we know this shader is always executed at per-sample granularity. (In case of a per-sample frequency shader and msaa disabled, the sampleID will always be 0, so this works just fine there.) Fixing this for the minSampleShading case will need a shader key (radeonsi uses the prolog part for) (for eg, could get away with a single bit, cm would need more bits depending on sample/invocation ratio, or read the bits from a uniform), unless we'd want to always use a sample mask uniform (which is probably not a good idea, as it would make the ordinary common msaa case slower for no good reason). This fixes some parts of piglit arb_sample_shading-samplemask (with fixed test), in particular those which use a sampleID, still failing others as expected. Reviewed-by: Dave Airlie <[email protected]>
* r600: clean up fragment shader input scan codeRoland Scheidegger2018-02-081-52/+23
| | | | | | | | | | | | | For some reason, we were iterating through the code twice (first just for instructions needing barycentrics, then for instructions and input dcls). Move things around slightly so this is no longer necessary. There also was a unnedeed enabling of the fixed_pt_position_gpr - this is only needed if the per-sample interpolation comes from an input, not from an instruction (just move the assert where it belongs) (since the sample id to sample from comes from a tgsi src in this case, and isn't sampleID). Otherwise there should be no functional change. Reviewed-by: Dave Airlie <[email protected]>
* mesa: (trivial) remove unused ignore_sample_qualifier_parameterRoland Scheidegger2018-02-083-10/+6
| | | | | | | | This parameter for _mesa_get_min_incations_per_fragment() was once used by the intel driver, but it's long gone. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* r600/cm: (trivial) code cleanup for emitting msaa stateRoland Scheidegger2018-02-083-16/+14
| | | | | | No functional change (compile tested only). Reviewed-by: Dave Airlie <[email protected]>
* tgsi: use tgsi_semantic enum type in ureg codeBrian Paul2018-02-072-23/+23
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* st/mesa: use tgsi_semantic enum typeBrian Paul2018-02-072-5/+8
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* tgsi: use TGSI enum types in ureg codeBrian Paul2018-02-072-51/+55
| | | | | | v2: fix enum tgsi_interpolate_mode/loc typo. Reviewed-by: Roland Scheidegger <[email protected]>
* st/mesa: use TGSI enum types in st_glsl_to_tgsi.cppBrian Paul2018-02-071-7/+7
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* gallium/util: replace uint with tgsi enum typesBrian Paul2018-02-072-6/+7
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* gallium/util: replace unsigned with tgsi enum typesBrian Paul2018-02-072-31/+34
| | | | Reviewed-by: Roland Scheidegger <[email protected]>
* radv: implement VK_EXT_external_memory_hostFredrik Höglund2018-02-086-8/+137
| | | | | | | Ported from the radeonsi GL_AMD_pinned_memory implementation. Signed-off-by: Fredrik Höglund <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* r600: fix rendering regression on r6/7 gpusDave Airlie2018-02-081-1/+6
| | | | | | | | Fixes: 2d5b5d267e (r600: work out target mask at framebuffer bind.) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104989 Reviewed-by: Roland Scheidegger <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* radeonsi: avoid int-to-pointer-cast warnings on 32bitGrazvydas Ignotas2018-02-081-6/+12
| | | | | | | I hope the actual dropping of MSB is ok, but that's what's already happened before this change. Reviewed-by: Marek Olšák <[email protected]>