mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-04-05 22:47:03 +00:00
rsx/vk: Rework MSAA implementation
This commit is contained in:
parent
9c5ed01130
commit
bc7ed8eaab
30 changed files with 285 additions and 123 deletions
|
|
@ -52,18 +52,20 @@ namespace rsx
|
|||
masked_transfer(slots_, src, mask);
|
||||
}
|
||||
|
||||
void fragment_program_texture_state::clear(u32 index)
|
||||
{
|
||||
const u16 clear_mask = ~(static_cast<u16>(1 << index));
|
||||
redirected_textures &= clear_mask;
|
||||
shadow_textures &= clear_mask;
|
||||
}
|
||||
|
||||
void fragment_program_texture_state::import(const fragment_program_texture_state& other, u16 mask)
|
||||
{
|
||||
redirected_textures = other.redirected_textures & mask;
|
||||
shadow_textures = other.shadow_textures & mask;
|
||||
texture_dimensions = other.texture_dimensions & duplicate_and_extend(mask);
|
||||
void fragment_program_texture_state::clear(u32 index)
|
||||
{
|
||||
const u16 clear_mask = ~(static_cast<u16>(1 << index));
|
||||
redirected_textures &= clear_mask;
|
||||
shadow_textures &= clear_mask;
|
||||
multisampled_textures &= clear_mask;
|
||||
}
|
||||
|
||||
void fragment_program_texture_state::import(const fragment_program_texture_state& other, u16 mask)
|
||||
{
|
||||
redirected_textures = other.redirected_textures & mask;
|
||||
shadow_textures = other.shadow_textures & mask;
|
||||
multisampled_textures = other.multisampled_textures & mask;
|
||||
texture_dimensions = other.texture_dimensions & duplicate_and_extend(mask);
|
||||
}
|
||||
|
||||
void fragment_program_texture_state::set_dimension(texture_dimension_extended type, u32 index)
|
||||
|
|
@ -75,19 +77,22 @@ namespace rsx
|
|||
}
|
||||
|
||||
bool fragment_program_texture_state::operator == (const fragment_program_texture_state& other) const
|
||||
{
|
||||
return texture_dimensions == other.texture_dimensions &&
|
||||
redirected_textures == other.redirected_textures &&
|
||||
shadow_textures == other.shadow_textures;
|
||||
}
|
||||
|
||||
void vertex_program_texture_state::clear(u32 /*index*/)
|
||||
{
|
||||
// Nothing to do yet
|
||||
return texture_dimensions == other.texture_dimensions &&
|
||||
redirected_textures == other.redirected_textures &&
|
||||
shadow_textures == other.shadow_textures &&
|
||||
multisampled_textures == other.multisampled_textures;
|
||||
}
|
||||
|
||||
void vertex_program_texture_state::clear(u32 index)
|
||||
{
|
||||
const u16 clear_mask = ~(static_cast<u16>(1 << index));
|
||||
multisampled_textures &= clear_mask;
|
||||
}
|
||||
|
||||
void vertex_program_texture_state::import(const vertex_program_texture_state& other, u16 mask)
|
||||
{
|
||||
multisampled_textures = other.multisampled_textures & mask;
|
||||
texture_dimensions = other.texture_dimensions & duplicate_and_extend(mask);
|
||||
}
|
||||
|
||||
|
|
@ -101,6 +106,7 @@ namespace rsx
|
|||
|
||||
bool vertex_program_texture_state::operator == (const vertex_program_texture_state& other) const
|
||||
{
|
||||
return texture_dimensions == other.texture_dimensions;
|
||||
return texture_dimensions == other.texture_dimensions &&
|
||||
multisampled_textures == other.multisampled_textures;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue