mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-06-01 12:15:27 -06:00
rsx: Add format override functionality to format_ex
This commit is contained in:
parent
b9bdbfa55b
commit
f2a17e4898
@ -147,6 +147,9 @@ namespace rsx
|
|||||||
bool valid() const { return format_bits != 0; }
|
bool valid() const { return format_bits != 0; }
|
||||||
u32 format() const { return format_bits & ~(CELL_GCM_TEXTURE_LN | CELL_GCM_TEXTURE_UN); }
|
u32 format() const { return format_bits & ~(CELL_GCM_TEXTURE_LN | CELL_GCM_TEXTURE_UN); }
|
||||||
|
|
||||||
|
bool hw_SNORM_possible() const { return (texel_remap_control & SEXT_MASK) == SEXT_MASK; }
|
||||||
|
bool hw_SRGB_possible() const { return (texel_remap_control & GAMMA_CTRL_MASK) == GAMMA_RGB_MASK; }
|
||||||
|
|
||||||
//private:
|
//private:
|
||||||
u32 format_bits = 0;
|
u32 format_bits = 0;
|
||||||
u32 features = 0;
|
u32 features = 0;
|
||||||
|
|||||||
@ -4,52 +4,12 @@
|
|||||||
|
|
||||||
#include "GLSLTypes.h"
|
#include "GLSLTypes.h"
|
||||||
#include "ShaderParam.h"
|
#include "ShaderParam.h"
|
||||||
|
#include "../color_utils.h"
|
||||||
|
|
||||||
struct RSXFragmentProgram;
|
struct RSXFragmentProgram;
|
||||||
|
|
||||||
namespace rsx
|
namespace rsx
|
||||||
{
|
{
|
||||||
// TODO: Move this somewhere else once more compilers are supported other than glsl
|
|
||||||
enum texture_control_bits
|
|
||||||
{
|
|
||||||
GAMMA_A = 0,
|
|
||||||
GAMMA_R,
|
|
||||||
GAMMA_G,
|
|
||||||
GAMMA_B,
|
|
||||||
ALPHAKILL,
|
|
||||||
RENORMALIZE,
|
|
||||||
EXPAND_A,
|
|
||||||
EXPAND_R,
|
|
||||||
EXPAND_G,
|
|
||||||
EXPAND_B,
|
|
||||||
SEXT_A,
|
|
||||||
SEXT_R,
|
|
||||||
SEXT_G,
|
|
||||||
SEXT_B,
|
|
||||||
DEPTH_FLOAT,
|
|
||||||
DEPTH_COMPARE_OP,
|
|
||||||
DEPTH_COMPARE_1,
|
|
||||||
DEPTH_COMPARE_2,
|
|
||||||
FILTERED_MAG,
|
|
||||||
FILTERED_MIN,
|
|
||||||
UNNORMALIZED_COORDS,
|
|
||||||
CLAMP_TEXCOORDS_BIT,
|
|
||||||
WRAP_S,
|
|
||||||
WRAP_T,
|
|
||||||
WRAP_R,
|
|
||||||
FF_SIGNED_BIT,
|
|
||||||
FF_BIASED_RENORM_BIT,
|
|
||||||
FF_GAMMA_BIT,
|
|
||||||
FF_16BIT_CHANNELS_BIT,
|
|
||||||
|
|
||||||
GAMMA_CTRL_MASK = (1 << GAMMA_R) | (1 << GAMMA_G) | (1 << GAMMA_B) | (1 << GAMMA_A),
|
|
||||||
EXPAND_MASK = (1 << EXPAND_R) | (1 << EXPAND_G) | (1 << EXPAND_B) | (1 << EXPAND_A),
|
|
||||||
EXPAND_OFFSET = EXPAND_A,
|
|
||||||
SEXT_MASK = (1 << SEXT_R) | (1 << SEXT_G) | (1 << SEXT_B) | (1 << SEXT_A),
|
|
||||||
SEXT_OFFSET = SEXT_A,
|
|
||||||
FORMAT_FEATURES_OFFSET = FF_SIGNED_BIT,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum ROP_control_bits : u32
|
enum ROP_control_bits : u32
|
||||||
{
|
{
|
||||||
// Commands. These trigger explicit action.
|
// Commands. These trigger explicit action.
|
||||||
|
|||||||
@ -7,6 +7,52 @@
|
|||||||
|
|
||||||
namespace rsx
|
namespace rsx
|
||||||
{
|
{
|
||||||
|
enum texture_control_bits : u32
|
||||||
|
{
|
||||||
|
GAMMA_A = 0,
|
||||||
|
GAMMA_R,
|
||||||
|
GAMMA_G,
|
||||||
|
GAMMA_B,
|
||||||
|
ALPHAKILL,
|
||||||
|
RENORMALIZE,
|
||||||
|
EXPAND_A,
|
||||||
|
EXPAND_R,
|
||||||
|
EXPAND_G,
|
||||||
|
EXPAND_B,
|
||||||
|
SEXT_A,
|
||||||
|
SEXT_R,
|
||||||
|
SEXT_G,
|
||||||
|
SEXT_B,
|
||||||
|
DEPTH_FLOAT,
|
||||||
|
DEPTH_COMPARE_OP,
|
||||||
|
DEPTH_COMPARE_1,
|
||||||
|
DEPTH_COMPARE_2,
|
||||||
|
FILTERED_MAG,
|
||||||
|
FILTERED_MIN,
|
||||||
|
UNNORMALIZED_COORDS,
|
||||||
|
CLAMP_TEXCOORDS_BIT,
|
||||||
|
WRAP_S,
|
||||||
|
WRAP_T,
|
||||||
|
WRAP_R,
|
||||||
|
FF_SIGNED_BIT,
|
||||||
|
FF_BIASED_RENORM_BIT,
|
||||||
|
FF_GAMMA_BIT,
|
||||||
|
FF_16BIT_CHANNELS_BIT,
|
||||||
|
|
||||||
|
// Meta
|
||||||
|
GAMMA_CTRL_MASK = (1 << GAMMA_R) | (1 << GAMMA_G) | (1 << GAMMA_B) | (1 << GAMMA_A),
|
||||||
|
GAMMA_RGB_MASK = (1 << GAMMA_R) | (1 << GAMMA_G) | (1 << GAMMA_B),
|
||||||
|
GAMMA_OFFSET = GAMMA_A,
|
||||||
|
|
||||||
|
EXPAND_MASK = (1 << EXPAND_R) | (1 << EXPAND_G) | (1 << EXPAND_B) | (1 << EXPAND_A),
|
||||||
|
EXPAND_OFFSET = EXPAND_A,
|
||||||
|
|
||||||
|
SEXT_MASK = (1 << SEXT_R) | (1 << SEXT_G) | (1 << SEXT_B) | (1 << SEXT_A),
|
||||||
|
SEXT_OFFSET = SEXT_A,
|
||||||
|
|
||||||
|
FORMAT_FEATURES_OFFSET = FF_SIGNED_BIT,
|
||||||
|
};
|
||||||
|
|
||||||
struct texture_channel_remap_t
|
struct texture_channel_remap_t
|
||||||
{
|
{
|
||||||
u32 encoded = 0xDEAD;
|
u32 encoded = 0xDEAD;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user