[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH] wined3d: fix color in range comparison
From:       Stefan Dösinger <stefandoesinger () gmail ! com>
Date:       2015-05-27 7:39:02
Message-ID: 55657496.3050403 () gmail ! com
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 2015-05-26 um 14:41 schrieb Sergey Isakov:
> +#define RED_KEY(x)   (x & 0xff0000)
> +#define GREEN_KEY(x) (x & 0x00ff00)  
> +#define BLUE_KEY(x)  (x & 0x0000ff)
> +    return ((RED_KEY(color) >= RED_KEY(color_key->color_space_low_value)) &&
> +            (RED_KEY(color) <= RED_KEY(color_key->color_space_high_value)) &&
> +            (GREEN_KEY(color) >= GREEN_KEY(color_key->color_space_low_value)) &&
> +            (GREEN_KEY(color) <= GREEN_KEY(color_key->color_space_high_value)) &&
> +            (BLUE_KEY(color) >= BLUE_KEY(color_key->color_space_low_value)) &&
> +            (BLUE_KEY(color) <= BLUE_KEY(color_key->color_space_high_value)));
> +#undef RED_KEY
> +#undef GREEN_KEY
> +#undef BLUE_KEY
The basic idea is most likely right, but it needs tests. Do you have a game that \
needs this behavior?

The way you're extracting individual colors from the key is wrong. The bitmasks \
depend on the texture format.

The code you're modifying is unused on any modern GPU. On GPUs that support \
ARB_fragment_program or GLSL we do the color key comparison in the fragment shader \
nowadays.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJVZXSWAAoJEN0/YqbEcdMwbEUP/RM4QUsbdSzhSLyIz5j00Epb
AW1ZcNOg61yrfymjHdhJkqfdNmEiKQFsRshD+ZQAxVHqMsZLTxXtRFfBB14WtmNI
Ng5jwwiAzDqlmpjftlZ4CmkR1w7DMxH6Nt4e9OQBlDKShSIoGngL6RremV+2Wq+f
nNC6HfdmUiAIReVvI2aMm5B9C5L624SKLvoAZNI8QW+HJeZeESSGmT9bx4IRVQwl
QX+aKojT43CJwq6UpZRu7ZkniotrmO9aDC+6S3S0od0ZJWSP5Q9upCNWNcN+iPG7
9kCPwZMsEAxNUjvh/wQx8xE1+wiR7Ugjl/X6yTN8HFesFHChrqC2UeHUAkUKU++L
WC4kwijfbktKSZnIiSvrTAzWvLOeCZMifFQqm8aqmlOqyvbNwyOJjh6yM/nqZi+c
2aEdEIMY5aaoswDIlyGRRN57zeWtqjZVmg7UzVxmZqfiocmUVxgdmdRv8BvFi0RF
R4A6YTDP5EYb33SvH3qQE5kIrtDdtL8qtanmBsuHnhhwd1rdgeeq/9N0tqSjH1GQ
s8vsXVmd3qU+mQMzyaxN9Cc9RGxGNgd+g1LkkoPqe+aVUw/JDzvAdMDGpy63zjhM
QUlfS771f+Zt43wku/20XP1engXXti4m+KfnSOS3nCdKO1xRKOGHAMlUZzd8+jhU
2rWKuh42D3mSMDk1OhLR
=IdO/
-----END PGP SIGNATURE-----


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic