mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 19:45:20 +00:00
rsx: Minor fixups
- Fix texture cache blit behaviour when src has AA enabled and dst is a blit dst texture with or without AA -- This requires handling AA resolve by removing a half downscale on multisampled axes - Return all ones when a vertex attribute is disabled. -- Some games forget to enable vertex attributes actually needed by the fs
This commit is contained in:
parent
7b3e4f5e3d
commit
ed21bb309f
2 changed files with 9 additions and 4 deletions
|
@ -278,6 +278,8 @@ namespace glsl
|
|||
OS << "vec4 read_location(int location)\n";
|
||||
OS << "{\n";
|
||||
OS << " attribute_desc desc = fetch_desc(location);\n";
|
||||
OS << " //if attribute is disabled return 1 (makes all operations with it nop except add/sub - TODO)\n";
|
||||
OS << " if (desc.attribute_size == 0) return vec4(1.);\n";
|
||||
OS << "\n";
|
||||
OS << " int vertex_id = " << vertex_id_name << " - int(vertex_base_index);\n";
|
||||
OS << " if (desc.frequency == 0)\n";
|
||||
|
|
|
@ -1624,11 +1624,14 @@ namespace rsx
|
|||
}
|
||||
else
|
||||
{
|
||||
if (src_subres.w != dst.clip_width ||
|
||||
src_subres.h != dst.clip_height)
|
||||
if (!dst_is_render_target)
|
||||
{
|
||||
const int dst_width = (int)(src_subres.w * scale_x);
|
||||
const int dst_height = (int)(src_subres.h * scale_y);
|
||||
u16 src_subres_w = src_subres.w;
|
||||
u16 src_subres_h = src_subres.h;
|
||||
get_rsx_dimensions(src_subres_w, src_subres_h, src_subres.surface);
|
||||
|
||||
const int dst_width = (int)(src_subres_w * scale_x);
|
||||
const int dst_height = (int)(src_subres_h * scale_y);
|
||||
|
||||
dst_area.x2 = dst_area.x1 + dst_width;
|
||||
dst_area.y2 = dst_area.y1 + dst_height;
|
||||
|
|
Loading…
Add table
Reference in a new issue