[PATCH 1/7] dxgi: Trace requested feature levels.
Józef Kucia
jkucia at codeweavers.com
Fri Apr 22 04:18:42 CDT 2016
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
dlls/dxgi/dxgi_main.c | 16 ++++++++++------
dlls/dxgi/dxgi_private.h | 1 +
dlls/dxgi/utils.c | 15 +++++++++++++++
3 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/dlls/dxgi/dxgi_main.c b/dlls/dxgi/dxgi_main.c
index a4c1362..8a39d93 100644
--- a/dlls/dxgi/dxgi_main.c
+++ b/dlls/dxgi/dxgi_main.c
@@ -128,8 +128,8 @@ HRESULT WINAPI DXGID3D10CreateDevice(HMODULE d3d10core, IDXGIFactory *factory, I
unsigned int flags, const D3D_FEATURE_LEVEL *feature_levels, unsigned int level_count, void **device)
{
struct layer_get_size_args get_size_args;
- struct dxgi_device *dxgi_device;
struct dxgi_device_layer d3d10_layer;
+ struct dxgi_device *dxgi_device;
UINT device_size;
DWORD count;
HRESULT hr;
@@ -137,18 +137,22 @@ HRESULT WINAPI DXGID3D10CreateDevice(HMODULE d3d10core, IDXGIFactory *factory, I
TRACE("d3d10core %p, factory %p, adapter %p, flags %#x, feature_levels %p, level_count %u, device %p.\n",
d3d10core, factory, adapter, flags, feature_levels, level_count, device);
- FIXME("Ignoring flags.\n");
+ if (flags)
+ FIXME("Ignoring flags %#x.\n", flags);
+
+ if (TRACE_ON(dxgi))
+ dump_feature_levels(feature_levels, level_count);
hr = register_d3d10core_layers(d3d10core);
if (FAILED(hr))
{
- ERR("Failed to register d3d10core layers, returning %#x\n", hr);
+ ERR("Failed to register d3d10core layers, returning %#x.\n", hr);
return hr;
}
if (!get_layer(DXGI_DEVICE_LAYER_D3D10_DEVICE, &d3d10_layer))
{
- ERR("Failed to get D3D10 device layer\n");
+ ERR("Failed to get D3D10 device layer.\n");
return E_FAIL;
}
@@ -156,7 +160,7 @@ HRESULT WINAPI DXGID3D10CreateDevice(HMODULE d3d10core, IDXGIFactory *factory, I
hr = d3d10_layer.init(d3d10_layer.id, &count, NULL);
if (FAILED(hr))
{
- WARN("Failed to initialize D3D10 device layer\n");
+ WARN("Failed to initialize D3D10 device layer.\n");
return E_FAIL;
}
@@ -176,7 +180,7 @@ HRESULT WINAPI DXGID3D10CreateDevice(HMODULE d3d10core, IDXGIFactory *factory, I
dxgi_device = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, device_size);
if (!dxgi_device)
{
- ERR("Failed to allocate device memory\n");
+ ERR("Failed to allocate device memory.\n");
return E_OUTOFMEMORY;
}
diff --git a/dlls/dxgi/dxgi_private.h b/dlls/dxgi/dxgi_private.h
index 129f6b4..804ae99 100644
--- a/dlls/dxgi/dxgi_private.h
+++ b/dlls/dxgi/dxgi_private.h
@@ -79,6 +79,7 @@ struct dxgi_device_layer
/* TRACE helper functions */
const char *debug_dxgi_format(DXGI_FORMAT format) DECLSPEC_HIDDEN;
+void dump_feature_levels(const D3D_FEATURE_LEVEL *feature_levels, unsigned int level_count) DECLSPEC_HIDDEN;
DXGI_FORMAT dxgi_format_from_wined3dformat(enum wined3d_format_id format) DECLSPEC_HIDDEN;
enum wined3d_format_id wined3dformat_from_dxgi_format(DXGI_FORMAT format) DECLSPEC_HIDDEN;
diff --git a/dlls/dxgi/utils.c b/dlls/dxgi/utils.c
index c0c1fcd..c01dd9b 100644
--- a/dlls/dxgi/utils.c
+++ b/dlls/dxgi/utils.c
@@ -364,6 +364,21 @@ enum wined3d_format_id wined3dformat_from_dxgi_format(DXGI_FORMAT format)
}
}
+void dump_feature_levels(const D3D_FEATURE_LEVEL *feature_levels, unsigned int level_count)
+{
+ unsigned int i;
+
+ if (!feature_levels || !level_count)
+ {
+ TRACE("Feature levels: (null).\n");
+ return;
+ }
+
+ TRACE("Feature levels (count = %u):\n", level_count);
+ for (i = 0; i < level_count; ++i)
+ TRACE(" [%u] = %s.\n", i, debug_feature_level(feature_levels[i]));
+}
+
void dxgi_sample_desc_from_wined3d(DXGI_SAMPLE_DESC *desc,
enum wined3d_multisample_type wined3d_type, unsigned int wined3d_quality)
{
--
2.7.3
More information about the wine-patches
mailing list