Use lowercase constants in dxtn patch.

This commit is contained in:
Michael Müller 2014-10-26 22:57:27 +01:00
parent ca7325e83a
commit 1349af11e7

View File

@ -1,4 +1,4 @@
From 4ed4e0e27d54ecd2ef742a982f1d784183f58caf Mon Sep 17 00:00:00 2001
From fe8ff690267d0e3dbc4d7731dce1276bee2f037e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sat, 20 Sep 2014 02:48:07 +0200
Subject: wined3d: Add support for DXTn software decoding through libtxc_dxtn.
@ -6,11 +6,11 @@ Subject: wined3d: Add support for DXTn software decoding through libtxc_dxtn.
---
configure.ac | 9 ++
dlls/wined3d/Makefile.in | 1 +
dlls/wined3d/dxtn.c | 324 +++++++++++++++++++++++++++++++++++++++++
dlls/wined3d/dxtn.c | 325 +++++++++++++++++++++++++++++++++++++++++
dlls/wined3d/surface.c | 70 +++++++++
dlls/wined3d/wined3d_main.c | 5 +
dlls/wined3d/wined3d_private.h | 8 +
6 files changed, 417 insertions(+)
6 files changed, 418 insertions(+)
create mode 100644 dlls/wined3d/dxtn.c
diff --git a/configure.ac b/configure.ac
@ -50,10 +50,10 @@ index 655800b..ee0615f 100644
nvidia_texture_shader.c \
diff --git a/dlls/wined3d/dxtn.c b/dlls/wined3d/dxtn.c
new file mode 100644
index 0000000..067dcdd
index 0000000..91b0c3d
--- /dev/null
+++ b/dlls/wined3d/dxtn.c
@@ -0,0 +1,324 @@
@@ -0,0 +1,325 @@
+/*
+ * Copyright 2014 Michael Müller
+ *
@ -104,13 +104,13 @@ index 0000000..067dcdd
+ x & 3, y & 3, &color);
+ if (alpha)
+ {
+ dst_line[x] = (color & 0xFF00FF00) | ((color & 0xFF) << 16) |
+ ((color & 0xFF0000) >> 16);
+ dst_line[x] = (color & 0xff00FF00) | ((color & 0xff) << 16) |
+ ((color & 0xff0000) >> 16);
+ }
+ else
+ {
+ dst_line[x] = 0xFF000000 | ((color & 0xFF) << 16) |
+ (color & 0xFF00) | ((color & 0xFF0000) >> 16);
+ dst_line[x] = 0xff000000 | ((color & 0xff) << 16) |
+ (color & 0xff00) | ((color & 0xff0000) >> 16);
+ }
+ }
+ }
@ -142,13 +142,13 @@ index 0000000..067dcdd
+ color = src_line[x];
+ if (alpha)
+ {
+ dst_line[x] = (color & 0xFF00FF00) | ((color & 0xFF) << 16) |
+ ((color & 0xFF0000) >> 16);
+ dst_line[x] = (color & 0xff00FF00) | ((color & 0xff) << 16) |
+ ((color & 0xff0000) >> 16);
+ }
+ else
+ {
+ dst_line[x] = 0xFF000000 | ((color & 0xFF) << 16) |
+ (color & 0xFF00) | ((color & 0xFF0000) >> 16);
+ dst_line[x] = 0xff000000 | ((color & 0xff) << 16) |
+ (color & 0xff00) | ((color & 0xff0000) >> 16);
+ }
+ }
+ }
@ -190,14 +190,15 @@ index 0000000..067dcdd
+ color = src_line[x];
+ if (alpha)
+ {
+ dst_line[x] = ((color & 0x8000) ? 0xFF000000 : 0) |
+ dst_line[x] = ((color & 0x8000) ? 0xff000000 : 0) |
+ convert_5to8[(color & 0x001f)] << 16 |
+ convert_5to8[(color & 0x03e0) >> 5] << 8 |
+ convert_5to8[(color & 0x7c00) >> 10];
+ }
+ else
+ {
+ dst_line[x] = convert_5to8[(color & 0x001f)] << 16 |
+ dst_line[x] = 0xff000000 |
+ convert_5to8[(color & 0x001f)] << 16 |
+ convert_5to8[(color & 0x03e0) >> 5] << 8 |
+ convert_5to8[(color & 0x7c00) >> 10];
+ }