Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d52f2b63
Commit
d52f2b63
authored
Oct 03, 2010
by
Rico Schüller
Committed by
Alexandre Julliard
Oct 07, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d3dcompiler: Implement D3DGetDebugInfo().
parent
4467901e
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
4 deletions
+34
-4
blob.c
dlls/d3dcompiler_43/blob.c
+24
-3
d3dcompiler_43.spec
dlls/d3dcompiler_43/d3dcompiler_43.spec
+1
-1
d3dcompiler_43_main.c
dlls/d3dcompiler_43/d3dcompiler_43_main.c
+7
-0
d3dcompiler_private.h
dlls/d3dcompiler_43/d3dcompiler_private.h
+1
-0
d3dcompiler.h
include/d3dcompiler.h
+1
-0
No files found.
dlls/d3dcompiler_43/blob.c
View file @
d52f2b63
...
...
@@ -137,6 +137,10 @@ static BOOL check_blob_part(DWORD tag, D3D_BLOB_PART part)
if
(
tag
==
TAG_ISGN
||
tag
==
TAG_OSGN
)
add
=
TRUE
;
break
;
case
D3D_BLOB_DEBUG_INFO
:
if
(
tag
==
TAG_SDBG
)
add
=
TRUE
;
break
;
default:
FIXME
(
"Unhandled D3D_BLOB_PART %s.
\n
"
,
debug_d3dcompiler_d3d_blob_part
(
part
));
break
;
...
...
@@ -204,6 +208,7 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P
{
case
D3D_BLOB_INPUT_SIGNATURE_BLOB
:
case
D3D_BLOB_OUTPUT_SIGNATURE_BLOB
:
case
D3D_BLOB_DEBUG_INFO
:
if
(
count
!=
1
)
count
=
0
;
break
;
...
...
@@ -224,10 +229,26 @@ HRESULT d3dcompiler_get_blob_part(const void *data, SIZE_T data_size, D3D_BLOB_P
return
E_FAIL
;
}
hr
=
dxbc_write_blob
(
&
dst_dxbc
,
blob
);
if
(
FAILED
(
hr
))
/* some parts aren't full DXBCs, they contain only the data */
if
(
count
==
1
&&
(
part
==
D3D_BLOB_DEBUG_INFO
))
{
WARN
(
"Failed to write blob part
\n
"
);
hr
=
D3DCreateBlob
(
dst_dxbc
.
sections
[
0
].
data_size
,
blob
);
if
(
SUCCEEDED
(
hr
))
{
memcpy
(
ID3D10Blob_GetBufferPointer
(
*
blob
),
dst_dxbc
.
sections
[
0
].
data
,
dst_dxbc
.
sections
[
0
].
data_size
);
}
else
{
WARN
(
"Could not create blob
\n
"
);
}
}
else
{
hr
=
dxbc_write_blob
(
&
dst_dxbc
,
blob
);
if
(
FAILED
(
hr
))
{
WARN
(
"Failed to write blob part
\n
"
);
}
}
dxbc_destroy
(
&
src_dxbc
);
...
...
dlls/d3dcompiler_43/d3dcompiler_43.spec
View file @
d52f2b63
...
...
@@ -7,7 +7,7 @@
@ stub D3DDisassemble10Effect
@ stub D3DDisassemble
@ stdcall D3DGetBlobPart(ptr long long long ptr)
@ st
ub D3DGetDebugInfo
@ st
dcall D3DGetDebugInfo(ptr long ptr)
@ stdcall D3DGetInputAndOutputSignatureBlob(ptr long ptr)
@ stdcall D3DGetInputSignatureBlob(ptr long ptr)
@ stdcall D3DGetOutputSignatureBlob(ptr long ptr)
...
...
dlls/d3dcompiler_43/d3dcompiler_43_main.c
View file @
d52f2b63
...
...
@@ -109,3 +109,10 @@ HRESULT WINAPI D3DGetInputAndOutputSignatureBlob(const void *data, SIZE_T data_s
return
d3dcompiler_get_blob_part
(
data
,
data_size
,
D3D_BLOB_INPUT_AND_OUTPUT_SIGNATURE_BLOB
,
0
,
blob
);
}
HRESULT
WINAPI
D3DGetDebugInfo
(
const
void
*
data
,
SIZE_T
data_size
,
ID3DBlob
**
blob
)
{
TRACE
(
"data %p, data_size %lu, blob %p
\n
"
,
data
,
data_size
,
blob
);
return
d3dcompiler_get_blob_part
(
data
,
data_size
,
D3D_BLOB_DEBUG_INFO
,
0
,
blob
);
}
dlls/d3dcompiler_43/d3dcompiler_private.h
View file @
d52f2b63
...
...
@@ -583,6 +583,7 @@ void SlDeleteShader(struct bwriter_shader *shader);
#define TAG_DXBC MAKE_TAG('D', 'X', 'B', 'C')
#define TAG_ISGN MAKE_TAG('I', 'S', 'G', 'N')
#define TAG_OSGN MAKE_TAG('O', 'S', 'G', 'N')
#define TAG_SDBG MAKE_TAG('S', 'D', 'B', 'G')
struct
dxbc_section
{
...
...
include/d3dcompiler.h
View file @
d52f2b63
...
...
@@ -65,6 +65,7 @@ HRESULT WINAPI D3DGetBlobPart(const void *data, SIZE_T data_size, D3D_BLOB_PART
HRESULT
WINAPI
D3DGetInputSignatureBlob
(
const
void
*
data
,
SIZE_T
data_size
,
ID3DBlob
**
blob
);
HRESULT
WINAPI
D3DGetOutputSignatureBlob
(
const
void
*
data
,
SIZE_T
data_size
,
ID3DBlob
**
blob
);
HRESULT
WINAPI
D3DGetInputAndOutputSignatureBlob
(
const
void
*
data
,
SIZE_T
data_size
,
ID3DBlob
**
blob
);
HRESULT
WINAPI
D3DGetDebugInfo
(
const
void
*
data
,
SIZE_T
data_size
,
ID3DBlob
**
blob
);
HRESULT
WINAPI
D3DCreateBlob
(
SIZE_T
data_size
,
ID3DBlob
**
blob
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment