Commit graph

99 commits

Author SHA1 Message Date
Henri Verbeet 55ab59af9f d3dcompiler: Use vkd3d_shader_parse_dxbc() in d3dcompiler_shader_reflection_init(). 2023-04-18 10:18:48 +02:00
Henri Verbeet b8fe76a8b5 d3dcompiler: Store DXBC sections as vkd3d_shader_dxbc_section_desc structures. 2023-04-18 10:18:48 +02:00
Matteo Bruni c36a25897c d3d10: Do not accept any compute shader in D3D10ReflectShader().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Paul Gofman af45477392 d3dcompiler: Allow cs5.1 shaders on earlier d3dcompiler versions.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Paul Gofman 47b9c450c6 d3dcompiler: Implement d3dcompiler_shader_reflection_GetThreadGroupSize().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Zebediah Figura a23192f338 d3d10: Do not define D3DReflect().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-03 18:59:06 +01:00
Zebediah Figura 2198235cf1 d3dcompiler: Use a single definition for both d3d10 and d3d11 reflection interfaces.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-03 18:59:03 +01:00
Matteo Bruni c4273f0bbe d3dcompiler: Use more consistent integer data types.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-09 18:44:55 +01:00
Eric Pouech 576cdea0d7 d3dcompiler: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00
Eric Pouech 96b08eaecb d3d10: Build without -DWINE_NO_LONG_TYPES.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-08 20:24:15 +01:00
Nikolay Sivov 741c73d137 d3dcompiler: Improve D3D11_SHADER_DESC returned by reflection interface.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Nikolay Sivov ff98978836 d3dcompiler: Improve d3d10_shader_reflection_GetDesc() to return missing stats.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Matteo Bruni 749da353c9 d3dcompiler: Fix typo in struct d3dcompiler_shader_reflection.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-01 18:18:17 +02:00
Jacek Caban e6961f6e16 d3dcompiler: Use return value in read_dword.
Fixes warnings like on clang with MSVC target, where enums may be signed:
dlls/d3dcompiler_43/reflection.c:1160:22: warning: passing
'D3D_PRIMITIVE *' (aka 'enum D3D_PRIMITIVE *') to parameter of type
'DWORD *' (aka 'unsigned int *') converts between pointers to integer
types with different sign [-Wpointer-sign]

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 21:05:42 +02:00
Paul Gofman 56aeb4591b d3dcompiler: Fill texture fields in D3D11_SHADER_VARIABLE_DESC with default values.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:15:48 +02:00
Paul Gofman e7a499f8ef d3dcompiler: Set range id to bind point for sm < 5.1.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:08:32 +02:00
Paul Gofman 602e048527 d3dcompiler: Support ID3D12ShaderReflection interface in D3DReflect().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-09 11:08:26 +02:00
Zebediah Figura ae415a7df7 d3dcompiler: Unconditionally report special (pixel shader output) sysvals based on the semantic name.
That is, do not check that the shader is a pixel shader and that the signature
is an output signature. These semantic names can only be generated in such
conditions; using the name for any other stage is invalid.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 20:56:43 +02:00
Paul Gofman d95920e8d6 d3dcompiler: Fail parsing reflection data for sm51 in versions below 47.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:27:02 +02:00
Paul Gofman 85e0a09cce d3dcompiler: Parse register space and range id for sm51 in d3dcompiler_parse_rdef().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-10 21:27:00 +02:00
Matteo Bruni 8928a41750 d3dcompiler: Don't link to dxguid or uuid.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-24 18:26:18 +02:00
Paul Gofman 2c8c06054e d3dcompiler: Use stricmp() instead of _strnicmp(..., -1).
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-27 21:16:12 +01:00
Connor McAdams 44e65ebd7c d3dcompiler: Implement ID3D10ShaderReflectionConstantBuffer GetVariableByName() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:44 +01:00
Connor McAdams a812c1a5ef d3dcompiler: Implement ID3D10ShaderReflectionConstantBuffer GetVariableByIndex() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:42 +01:00
Connor McAdams c232519076 d3dcompiler: Implement ID3D10ShaderReflectionVariable GetType() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:40 +01:00
Connor McAdams a3b6d5646d d3dcompiler: Implement ID3D10ShaderReflectionType.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 21:05:37 +01:00
Connor McAdams 98e240c6a6 d3dcompiler: Partially implement ID3D10ShaderReflectionVariable.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:46 +01:00
Connor McAdams e5b2ee6fd8 d3dcompiler: Implement d3d10 GetConstantBufferByName().
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:44 +01:00
Connor McAdams 13a5a3cadc d3dcompiler: Implement d3d10 GetConstantBufferByIndex().
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:41 +01:00
Connor McAdams 14002a796d d3dcompiler: Partially implement ID3D10ShaderReflectionConstantBuffer.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:39 +01:00
Connor McAdams 6b6f8d5c2f d3dcompiler: Implement d3d10 reflection GetResourceBindingDesc() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:36 +01:00
Connor McAdams d8ff297052 d3dcompiler: Implement d3d10 reflection Get{Input, Output}ParameterDesc() methods.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 17:31:33 +01:00
Matteo Bruni 9fd08dbff6 d3dcompiler: Fix a couple of failure return values in >= 46 D3DReflect().
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Matteo Bruni d6c6fc455d d3dcompiler: Initialize MinPrecision when it exists.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Matteo Bruni 4ed07d8586 d3dcompiler: Always expect D3D_COMPILER_VERSION to be defined.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 21:39:40 +01:00
Connor McAdams 5c708c857e d3dcompiler: Implement d3d10 reflection GetDesc() method.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:03:36 +01:00
Connor McAdams 0ffd0cab01 d3dcompiler: Init reflection data in D3D10ReflectShader().
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:03:34 +01:00
Connor McAdams 981403e50f d3dcompiler: Move d3d10 reflection stubs into d3dcompiler.
Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-06 16:03:31 +01:00
Zebediah Figura 72b74d7cdc d3dcompiler: Parse type name strings.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-31 08:30:39 +02:00
Alexandre Julliard c8d34ef088 d3dcompiler: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-02 14:59:40 +02:00
Philip Rebohle b1f9cd57be d3dcompiler: Accept a stat chunk size of 28 for reflection.
Fixes "unhandled size" error for Crysis shaders.

Signed-off-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-17 20:01:21 +02:00
Piotr Caban 1b56d13da3 d3dcompiler: Don't use strcasecmp.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-09 19:33:48 +02:00
Matteo Bruni 293e2b55ad d3dcompiler: Actually define the correct ID3D11ShaderReflection GUIDs.
Spotted by Andrey Gusev.

Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-04 19:20:49 +01:00
Andrey Gusev d52b53d151 d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 22:22:42 +01:00
Jacek Caban acc0bb0521 rbtree.h: Pass compare function instead of wine_rb_functions to wine_rb_init.
Also change return type to void since the function can no longer fail.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:30:29 +09:00
Jacek Caban 907854d4a2 d3dcompiler_43: Removed no longer needed wine_rb_init error handling.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 11:26:45 +09:00
Andrey Gusev 1f29734b18 d3dcompiler_43: Fix a typo. 2013-12-02 11:09:07 +01:00
Frédéric Delanoy 27947d2662 d3dcompiler_43: Use BOOL type where appropriate. 2013-11-08 12:46:15 +01:00
Henri Verbeet 5daf5e80fb d3dcompiler: Avoid LPVOID. 2013-09-06 12:00:24 +02:00
Henri Verbeet 36190dd5e6 d3dcompiler: Avoid LPCSTR. 2013-09-05 13:18:24 +02:00