How could I get shader kind (vertex/pixel, etc.) from ID3D11ShaderReflection?
up vote
0
down vote
favorite
I want to extract shader program type informantion from shader byte code. I tried D3D11Reflect
first, and I found the _D3D11_SHADER_DESC
structure. But I couldn't identify which field stores program type information...
shader direct3d direct3d11
add a comment |
up vote
0
down vote
favorite
I want to extract shader program type informantion from shader byte code. I tried D3D11Reflect
first, and I found the _D3D11_SHADER_DESC
structure. But I couldn't identify which field stores program type information...
shader direct3d direct3d11
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I want to extract shader program type informantion from shader byte code. I tried D3D11Reflect
first, and I found the _D3D11_SHADER_DESC
structure. But I couldn't identify which field stores program type information...
shader direct3d direct3d11
I want to extract shader program type informantion from shader byte code. I tried D3D11Reflect
first, and I found the _D3D11_SHADER_DESC
structure. But I couldn't identify which field stores program type information...
shader direct3d direct3d11
shader direct3d direct3d11
asked Nov 22 at 15:44
Cu2S
343315
343315
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
If you look in the d3d11shader.h
header, you'll see it's encoded into the Version field in the 16-bit upper word:
typedef enum D3D11_SHADER_VERSION_TYPE
{
D3D11_SHVER_PIXEL_SHADER = 0,
D3D11_SHVER_VERTEX_SHADER = 1,
D3D11_SHVER_GEOMETRY_SHADER = 2,
// D3D11 Shaders
D3D11_SHVER_HULL_SHADER = 3,
D3D11_SHVER_DOMAIN_SHADER = 4,
D3D11_SHVER_COMPUTE_SHADER = 5,
D3D11_SHVER_RESERVED0 = 0xFFF0,
} D3D11_SHADER_VERSION_TYPE;
#define D3D11_SHVER_GET_TYPE(_Version)
(((_Version) >> 16) & 0xffff)
#define D3D11_SHVER_GET_MAJOR(_Version)
(((_Version) >> 4) & 0xf)
#define D3D11_SHVER_GET_MINOR(_Version)
(((_Version) >> 0) & 0xf)
typedef struct _D3D11_SHADER_DESC
{
UINT Version; // Shader version
...
} D3D11_SIGNATURE_PARAMETER_DESC;
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
If you look in the d3d11shader.h
header, you'll see it's encoded into the Version field in the 16-bit upper word:
typedef enum D3D11_SHADER_VERSION_TYPE
{
D3D11_SHVER_PIXEL_SHADER = 0,
D3D11_SHVER_VERTEX_SHADER = 1,
D3D11_SHVER_GEOMETRY_SHADER = 2,
// D3D11 Shaders
D3D11_SHVER_HULL_SHADER = 3,
D3D11_SHVER_DOMAIN_SHADER = 4,
D3D11_SHVER_COMPUTE_SHADER = 5,
D3D11_SHVER_RESERVED0 = 0xFFF0,
} D3D11_SHADER_VERSION_TYPE;
#define D3D11_SHVER_GET_TYPE(_Version)
(((_Version) >> 16) & 0xffff)
#define D3D11_SHVER_GET_MAJOR(_Version)
(((_Version) >> 4) & 0xf)
#define D3D11_SHVER_GET_MINOR(_Version)
(((_Version) >> 0) & 0xf)
typedef struct _D3D11_SHADER_DESC
{
UINT Version; // Shader version
...
} D3D11_SIGNATURE_PARAMETER_DESC;
add a comment |
up vote
2
down vote
accepted
If you look in the d3d11shader.h
header, you'll see it's encoded into the Version field in the 16-bit upper word:
typedef enum D3D11_SHADER_VERSION_TYPE
{
D3D11_SHVER_PIXEL_SHADER = 0,
D3D11_SHVER_VERTEX_SHADER = 1,
D3D11_SHVER_GEOMETRY_SHADER = 2,
// D3D11 Shaders
D3D11_SHVER_HULL_SHADER = 3,
D3D11_SHVER_DOMAIN_SHADER = 4,
D3D11_SHVER_COMPUTE_SHADER = 5,
D3D11_SHVER_RESERVED0 = 0xFFF0,
} D3D11_SHADER_VERSION_TYPE;
#define D3D11_SHVER_GET_TYPE(_Version)
(((_Version) >> 16) & 0xffff)
#define D3D11_SHVER_GET_MAJOR(_Version)
(((_Version) >> 4) & 0xf)
#define D3D11_SHVER_GET_MINOR(_Version)
(((_Version) >> 0) & 0xf)
typedef struct _D3D11_SHADER_DESC
{
UINT Version; // Shader version
...
} D3D11_SIGNATURE_PARAMETER_DESC;
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
If you look in the d3d11shader.h
header, you'll see it's encoded into the Version field in the 16-bit upper word:
typedef enum D3D11_SHADER_VERSION_TYPE
{
D3D11_SHVER_PIXEL_SHADER = 0,
D3D11_SHVER_VERTEX_SHADER = 1,
D3D11_SHVER_GEOMETRY_SHADER = 2,
// D3D11 Shaders
D3D11_SHVER_HULL_SHADER = 3,
D3D11_SHVER_DOMAIN_SHADER = 4,
D3D11_SHVER_COMPUTE_SHADER = 5,
D3D11_SHVER_RESERVED0 = 0xFFF0,
} D3D11_SHADER_VERSION_TYPE;
#define D3D11_SHVER_GET_TYPE(_Version)
(((_Version) >> 16) & 0xffff)
#define D3D11_SHVER_GET_MAJOR(_Version)
(((_Version) >> 4) & 0xf)
#define D3D11_SHVER_GET_MINOR(_Version)
(((_Version) >> 0) & 0xf)
typedef struct _D3D11_SHADER_DESC
{
UINT Version; // Shader version
...
} D3D11_SIGNATURE_PARAMETER_DESC;
If you look in the d3d11shader.h
header, you'll see it's encoded into the Version field in the 16-bit upper word:
typedef enum D3D11_SHADER_VERSION_TYPE
{
D3D11_SHVER_PIXEL_SHADER = 0,
D3D11_SHVER_VERTEX_SHADER = 1,
D3D11_SHVER_GEOMETRY_SHADER = 2,
// D3D11 Shaders
D3D11_SHVER_HULL_SHADER = 3,
D3D11_SHVER_DOMAIN_SHADER = 4,
D3D11_SHVER_COMPUTE_SHADER = 5,
D3D11_SHVER_RESERVED0 = 0xFFF0,
} D3D11_SHADER_VERSION_TYPE;
#define D3D11_SHVER_GET_TYPE(_Version)
(((_Version) >> 16) & 0xffff)
#define D3D11_SHVER_GET_MAJOR(_Version)
(((_Version) >> 4) & 0xf)
#define D3D11_SHVER_GET_MINOR(_Version)
(((_Version) >> 0) & 0xf)
typedef struct _D3D11_SHADER_DESC
{
UINT Version; // Shader version
...
} D3D11_SIGNATURE_PARAMETER_DESC;
answered Nov 24 at 5:25
Chuck Walbourn
19.5k12549
19.5k12549
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53434374%2fhow-could-i-get-shader-kind-vertex-pixel-etc-from-id3d11shaderreflection%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown