Commit Graph

643 Commits

Author SHA1 Message Date
e1bd89e1c2 shader/memory: Silence no return value warning
Silences a warning about control paths not all returning a value.
2020-04-02 03:34:27 -03:00
b03c0536ce Merge pull request #3561 from ReinUsesLisp/f2f-conversion
shader/conversion: Fix F2F rounding operations with different sizes
2020-03-31 14:45:02 -04:00
5b95a01463 Merge pull request #3577 from ReinUsesLisp/lea
shader/lea: Fix LEA implementation
2020-03-31 14:36:07 -04:00
238c35b2c9 clang-format 2020-03-31 08:08:06 +07:00
defb9642da shader_decode: fix by suggestion 2020-03-31 08:02:44 +07:00
cb0a4151f8 clang-format 2020-03-30 20:46:21 +07:00
4f7bea403a shader_decode: ATOM/ATOMS: add function to avoid code repetition 2020-03-30 18:47:50 +07:00
972485ff18 shader_decode: implement ATOM operation for S32 and U32 2020-03-30 17:44:48 +07:00
93cac0d294 clang-format 2020-03-30 17:44:48 +07:00
3dc09a6250 shader_decode: implement ATOMS instr partial. 2020-03-30 17:44:46 +07:00
2c780db5b9 shader: node - update correct comment 2020-03-30 17:44:44 +07:00
c119473c40 shader_decode: add Atomic op for common usage 2020-03-30 17:44:44 +07:00
5300a918c6 shader/lea: Simplify generated LEA code 2020-03-28 03:55:04 -03:00
523a709bf1 shader/lea: Fix op_a and op_b usages
They were swapped.
2020-03-27 18:37:20 -03:00
796b3319e6 shader/lea: Remove const and use move when possible 2020-03-27 18:36:38 -03:00
46791c464a shader/conversion: Fix F2F rounding operations with different sizes
Rounding operations only matter when the conversion size of source and
destination is the same, i.e. .F16.F16, .F32.F32 and .F64.F64.

When there is a mismatch (.F16.F32), these bits are used for IEEE
rounding, we don't emulate this because GLSL and SPIR-V don't support
configuring it per operation.
2020-03-26 01:58:49 -03:00
23c7dda710 Merge pull request #3544 from makigumo/myfork/patch-2
xmad: fix clang build error
2020-03-25 19:29:16 -04:00
e6aff11057 Merge pull request #3520 from ReinUsesLisp/legacy-varyings
gl_shader_decompiler: Implement legacy varyings
2020-03-25 19:27:51 -04:00
5a5c6d4ed8 xmad: fix clang build error 2020-03-23 00:09:31 +01:00
bdddbe2daa Merge pull request #3505 from namkazt/patch-8
shader_decode: implement XMAD mode CSfu
2020-03-19 17:41:01 -04:00
ddafc99776 Merge pull request #3502 from namkazt/patch-3
shader_decode: Reimplement BFE instructions
2020-03-15 21:23:04 -03:00
6442e02c5d shader/shader_ir: Track usage in input attribute and of legacy varyings 2020-03-15 21:01:52 -03:00
8e6e55d6f8 shader/shader_ir: Fix clip distance usage stores 2020-03-15 20:53:14 -03:00
464bd5fad7 shader/shader_ir: Change declare output attribute to a switch 2020-03-15 20:49:35 -03:00
3287b1247d clang-format 2020-03-14 10:07:40 +07:00
240d45830d nit 2020-03-14 09:57:24 +07:00
ae6189d7c2 shader/transform_feedback: Expose buffer stride 2020-03-13 18:33:05 -03:00
3dcaa84ba4 shader/transform_feedback: Add host API friendly TFB builder 2020-03-13 18:33:04 -03:00
829f424618 nit & remove some optional param 2020-03-13 20:47:38 +07:00
a166217480 shader_decode: implement XMAD mode CSfu 2020-03-13 19:01:49 +07:00
00607fe1e0 clang-format 2020-03-13 15:38:57 +07:00
325977c0c6 Apply suggestions from code review
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2020-03-13 15:35:15 +07:00
70ff82f72d shader_decode: BFE add ref of reverse parallel method. 2020-03-13 14:20:18 +07:00
96a4abe12d shader_decode: implement BREV on BFE
Implement reverse parallel follow: https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel
2020-03-13 14:13:31 +07:00
911c56ccef node_helper: add IBitfieldExtract case 2020-03-13 12:50:32 +07:00
465ba30d08 shader_decode: Reimplement BFE instructions 2020-03-13 12:48:01 +07:00
eb5861e0a2 engines/maxwell_3d: Add TFB registers and store them in shader registry 2020-03-09 18:40:53 -03:00
b1acb4f73f shader/registry: Address feedback 2020-03-09 18:40:53 -03:00
66a8a3e887 shader/registry: Cache tessellation state 2020-03-09 18:40:07 -03:00
0528be5c92 shader/registry: Store graphics and compute metadata
Store information GLSL forces us to provide but it's dynamic state in
hardware (workgroup sizes, primitive topology, shared memory size).
2020-03-09 18:40:07 -03:00
e8efd5a901 video_core: Rename "const buffer locker" to "registry" 2020-03-09 18:40:06 -03:00
bd8b9bbcee gl_shader_cache: Rework shader cache and remove post-specializations
Instead of pre-specializing shaders and then post-specializing them,
drop the later and only "specialize" the shader while decoding it.
2020-03-09 18:40:06 -03:00
0361aa1915 Merge pull request #3451 from ReinUsesLisp/indexed-textures
vk_shader_decompiler: Implement indexed textures
2020-03-05 11:42:46 -05:00
85a4222a8c nit: move comment to right place. 2020-02-29 13:50:10 +07:00
6c0c2dfabc shader_decode: Fix LD, LDG when track constant buffer 2020-02-28 13:11:19 +07:00
db2f547434 shader: FMUL switch to using LUT (#3441)
* shader: add FmulPostFactor LUT table

* shader: FMUL apply LUT

* Update src/video_core/engines/shader_bytecode.h

Co-Authored-By: Mat M. <mathew1800@gmail.com>

* nit: mistype

* clang-format & add missing import

* shader: remove post factor LUT.

* shader: move post factor LUT to function and fix incorrect order.

* clang-format

* shader: FMUL: add static to post factor LUT

* nit: typo

Co-authored-by: Mat M. <mathew1800@gmail.com>
2020-02-27 11:14:25 -05:00
1f57f679a4 Merge pull request #3440 from namkazt/patch-6
shader: implement LOP3 fast replace for old function
2020-02-26 10:24:35 -05:00
1dda77d392 shader: Simplify indexed sampler usages 2020-02-24 01:26:07 -03:00
7dc488a375 shader/texture: Fix illegal 3D texture assert
Fix typo in the illegal 3D texture assert logic. We care about catching
arrayed 3D textures or 3D shadow textures, not regular 3D textures.
2020-02-21 15:57:27 -03:00
10d8afb302 nit: add const to where it need. 2020-02-21 21:16:45 +07:00