Am 23.12.2010 00:37, schrieb Michael Stefaniuc:
Hello Travis,
On 12/22/2010 10:31 PM, Travis Athougies wrote:
Tests to ensure the HLSL compiler won't crash on malformed input.
---
dlls/d3dcompiler_43/tests/hlsl.c | 87
++++++++++++++++++++++++++++++++++++++
1 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/dlls/d3dcompiler_43/tests/hlsl.c
b/dlls/d3dcompiler_43/tests/hlsl.c
index 1f8e31c..a6a6099 100644
--- a/dlls/d3dcompiler_43/tests/hlsl.c
+++ b/dlls/d3dcompiler_43/tests/hlsl.c
@@ -556,6 +556,92 @@ static void test_trig(IDirect3DDevice9 *device,
IDirect3DVertexBuffer9 *quad_geo
}
}
+static void test_fail(IDirect3DDevice9 *device,
IDirect3DVertexBuffer9 *qquad_geometry,
+ IDirect3DVertexShader9 *vshader_passthru)
+{
+ static const char *undefined_variable_shader =
+ "float4 test(float2 pos: TEXCOORD0) : COLOR \
+ { \
+ return y; \
+ }";
please use proper C string literals. Escaping the newline is a gcc
extension. You can use string literal concatenation to split the string
on multiple lines. Something like this would do:
"float4 test(float2 pos: TEXCOORD0) : COLOR"
"{"
" return y;"
"}";
bye
michael
You probably may use ID3D10Blob_Release() instead of
IUnknown_Release(). This way you could drop the cast.
What happens to the ID3D10Blob *compiled? Is it still NULL after each
call to D3DCompile or is it an valid blob which has to be released?
Cheers
Rico