• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Development Discussion v
« Previous 1 ... 36 37 38 39 40 ... 116 Next »

zfreeze testing needed!
View New Posts | View Today's Posts

Pages (4): 1 2 3 4 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
zfreeze testing needed!
01-03-2015, 10:08 PM (This post was last modified: 01-03-2015, 10:11 PM by JMC47.)
#1
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,542
Threads: 29
Joined: Feb 2013
A lot of work has been done recently on zfreeze, with multiple types of hacks and attempts to bring it together.  Thanks to a collaboration between three developers with work spanning 3 years, there is an implementation in the wood works.


https://github.com/dolphin-emu/dolphin/pull/1812

In that pull request, there are some tasks that the developers of the implementation can't handle:  figuring out if this is broken on anyone's graphics card/drivers.  So, what I'd like to ask of people is to try a zfreeze title (less priority on Rogue Squadron 2/3, even though they're working, they're actually the least difficult zfreeze implementation and very unlikely to break) to make sure everything is working.  Mario Power Tennis, many EA sports/racing games, and other titles use zfreeze for shadows and other important aspects.

There's a known issue of zfighting in Mario Power Tennis's Delfino Plaza Court, but since the phire's current graphics card is incapable of rendering the courts, he has no way of debugging it yet and should be ignored.  Also, Fast depth should be UNCHECKED during testing.

Known zfreeze titles:  
  • Mario Power Tennis - Courts and Shadows  
  • Mario Golf:  Toadstool Tour - Main Menu  
  • Blood Omen 2:  Legacy of Kain - Skybox and menus for some reason.  
  • NBA Live 2005 - Shadows and Main Menu  
  • NBA Live 2006 - Main Menu???  
  • Need For Speed Hot Pursuit 2 - Certain Car Shadows  
  • NBA Street Volume 3 - Shadows  
  • Star Wars Rogue Squadron 2
  • Star Wars Rogue Squadron 3
  • NHL 2003  
  • Super Mario Strikers - Weapon Shadows (shells, Bananas, Bowser Event) + Goalposts 
  • Likely other EA Sports Titles
Reporting Guidelines:

Since we're mostly concerned about making sure that graphics cards are working, it's very, very important that any report be made in the following format.

Game(s) tested:  You put any games you tested here.  Pretty simple
Graphics Card:  Graphics card.  For me, this would be a NVIDIA GTX 760.
Driver Version:  For people on windows, just say the version of the driver.  On my NVIDIA it's 347.09.  On Linux, please say whether you're using proprietary or open source drivers.
Operating System:  Windows, Linux, etc.

Notes:  If you run into any unreported zfreeze problems, or if everything is perfect, etc. that goes here.  If you run into a game that uses zfreeze that we don't know about, please put that down too!  There are likely tons of EA Sports games that use it for shadows that we don't know about.

Builds:

Windows - https://dl.dolphin-emu.org/prs/pr-1812-dolphin-latest-x64.7z
Mac OSX - https://dl.dolphin-emu.org/prs/pr-1812-dolphin-latest.dmg
Linux - Have to build it yourself, sorry!
Find
Reply
01-03-2015, 11:16 PM
#2
Link_to_the_past Offline
Link on steroids really
*******
Posts: 1,767
Threads: 17
Joined: Feb 2010
The Simpsons is an EA game with completely broken shadows all over the place, i wonder whether it falls in this category, doesn't seem influenced by the zfreeze build though.
Find
Reply
01-04-2015, 06:03 AM (This post was last modified: 01-04-2015, 06:18 AM by pokemontrainer.)
#3
pokemontrainer Offline
Junior Member
**
Posts: 28
Threads: 3
Joined: May 2014
Is this supposed to work on both opengl and D3D? Only works on D3D for me. (win64, GTX660, 347.09 drivers).

I can also confirm that this fixes NHL 06 and FIFA 07 shadows (meaning they also use zfreeze).

Mario Golf starting default tournament (D3D):

Game crashed with pixel shader error.
Cleared Shader cache but that didn't help
Even after force quitting dolphin, my X360 controller keeps vibrating (can this be fixed?)
This is my bad_ps_0000.txt:
//Pixel Shader for TEV stages

//1 TEV stages, 1 texgens, 524289 IND stages
int idot(int3 x, int3 y)
{
    int3 tmp = x * y;
    return tmp.x + tmp.y + tmp.z;
}
int idot(int4 x, int4 y)
{
    int4 tmp = x * y;
    return tmp.x + tmp.y + tmp.z + tmp.w;
}

int  iround(float  x) { return int (round(x)); }
int2 iround(float2 x) { return int2(round(x)); }
int3 iround(float3 x) { return int3(round(x)); }
int4 iround(float4 x) { return int4(round(x)); }

sampler samp0 : register(s0);
sampler samp1 : register(s1);
sampler samp2 : register(s2);
sampler samp3 : register(s3);
sampler samp4 : register(s4);
sampler samp5 : register(s5);
sampler samp6 : register(s6);
sampler samp7 : register(s7);

Texture2DArray Tex0 : register(t0);
Texture2DArray Tex1 : register(t1);
Texture2DArray Tex2 : register(t2);
Texture2DArray Tex3 : register(t3);
Texture2DArray Tex4 : register(t4);
Texture2DArray Tex5 : register(t5);
Texture2DArray Tex6 : register(t6);
Texture2DArray Tex7 : register(t7);

cbuffer PSBlock : register(b0) {
    int4 color[4];
    int4 k[4];
    int4 alphaRef;
    float4 texdim[8];
    int4 czbias[2];
    int4 cindscale[2];
    int4 cindmtx[6];
    int4 cfogcolor;
    int4 cfogi;
    float4 cfogf[2];
    float4 czslope;
    float4 cefbscale;
};
struct Light {
    int4 color;
    float4 cosatt;
    float4 distatt;
    float4 pos;
    float4 dir;
};
cbuffer VSBlock : register(b1) {
    float4 cpnmtx[6];
    float4 cproj[4];
    int4 cmtrl[4];
    Light clights[8];
    float4 ctexmtx[24];
    float4 ctrmtx[64];
    float4 cnmtx[32];
    float4 cpostmtx[64];
    float4 cpixelcenter;
};
globallycoherent RWBuffer<int> bbox_data : register(u2);
struct VS_OUTPUT {
    float4 pos : POSITION;
    float4 colors_0 : COLOR0;
    float4 colors_1 : COLOR1;
    float3 tex0 : TEXCOORD0;
    float4 clipPos : TEXCOORD1;
    float4 Normal : TEXCOORD2;
};
void main(
  out float4 ocol0 : SV_Target0,
  out float depth : SV_Depth,
  in float4 rawpos : SV_Position,
  in centroid float4 colors_0 : COLOR0,
  in centroid float4 colors_1 : COLOR1
,
  in centroid float3 uv0 : TEXCOORD0,
  in centroid float4 clipPos : TEXCOORD1,
  in centroid float4 Normal : TEXCOORD2        ) {
    int4 c0 = color[1], c1 = color[2], c2 = color[3], prev = color[0];
    int4 rastemp = int4(0, 0, 0, 0), textemp = int4(0, 0, 0, 0), konsttemp = int4(0, 0, 0, 0);
    int3 comp16 = int3(1, 256, 0), comp24 = int3(1, 256, 256*256);
    int alphabump=0;
    int3 tevcoord=int3(0, 0, 0);
    int2 wrappedcoord=int2(0,0), tempcoord=int2(0,0);
    int4 tevin_a=int4(0,0,0,0),tevin_b=int4(0,0,0,0),tevin_c=int4(0,0,0,0),tevin_d=int4(0,0,0,0);

    float3 _norm0 = normalize(Normal.xyz);

    float3 pos = float3(clipPos.x,clipPos.y,Normal.w);
    int4 lacc;
    float3 ldir, h;
    float dist, dist2, attn;
    float4 col0, col1;
    int2 fixpoint_uv0 = iround(uv0.xy * texdim[0].zw * 128.0);

    // TEV stage 0
    tevcoord.xy = fixpoint_uv0;
    textemp = iround(255.0 * Tex0.Sample(samp0, float3((float2(tevcoord.xy)/128.0).xy * texdim[0].xy, 0.0))).rgba;
    tevin_a = int4(int3(0,0,0), 0)&255;
    tevin_b = int4(int3(0,0,0), textemp.a)&255;
    tevin_c = int4(int3(0,0,0), c0.a)&255;
    tevin_d = int4(textemp.rgb, 0);
    // color combine
    prev.rgb = clamp((((tevin_d.rgb)) + (((((tevin_a.rgb<<8) + (tevin_b.rgb-tevin_a.rgb)*(tevin_c.rgb+(tevin_c.rgb>>7)))) + 128)>>8)), int3(0,0,0), int3(255,255,255));
    // alpha combine
    prev.a = clamp((((tevin_d.a)) + (((((tevin_a.a<<8) + (tevin_b.a-tevin_a.a)*(tevin_c.a+(tevin_c.a>>7)))) + 128)>>8)), 0, 255);
    prev = prev & 255;
    int zCoord = czbias[1].x + iround((clipPos.z / clipPos.w) * float(czbias[1].y));
    ocol0 = float4(prev) / 255.0;
}
Find
Reply
01-04-2015, 06:06 AM
#4
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,542
Threads: 29
Joined: Feb 2013
It should work in both OpenGL and D3D. Working in both for me. Make sure you don't have fast-depth on!
Find
Reply
01-04-2015, 06:30 AM (This post was last modified: 01-04-2015, 06:31 AM by morgoth32.)
#5
morgoth32 Offline
Junior Member
**
Posts: 34
Threads: 2
Joined: Oct 2014
[color=#000000]Game(s) tested:  mario tennis ntsc[/color]

[color=#000000]Graphics Card:  Graphics card. 970 gt[/color]
[color=#000000]Driver Version:  347.09[/color]
[color=#000000]Operating System:  Windows 7[/color]
[color=#000000].[/color]
[color=#000000]Delphino plaza court under openGL shows the minigames elements blinking in single match mode.[/color]
[color=#000000]Under D3D that's better they appear at the beginning of the match for 0.5 sec.[/color]


[color=#000000]All other courts seem to work under openGL[/color]
[color=#000000]I had no issue with mario golf (tested opengl only).[/color]
Find
Reply
01-04-2015, 06:31 AM
#6
pokemontrainer Offline
Junior Member
**
Posts: 28
Threads: 3
Joined: May 2014
(01-04-2015, 06:06 AM)JMC47 Wrote: It should work in both OpenGL and D3D.  Working in both for me.  Make sure you don't have fast-depth on!

I don't have fast-depth on. I can confirm that I get the same dome effect in opengl than in my reference 4803 build inside rogue squadron. FIFA 07 shadows, however, are fixed by this build in opengl.
Find
Reply
01-04-2015, 06:41 AM
#7
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,542
Threads: 29
Joined: Feb 2013
You probably have something setup wrong. Try using portable.txt to get a clean set of settings.
Find
Reply
01-04-2015, 07:05 AM (This post was last modified: 01-04-2015, 07:45 AM by pokemontrainer.)
#8
pokemontrainer Offline
Junior Member
**
Posts: 28
Threads: 3
Joined: May 2014
I tried using portable.txt. Opengl working now, sorry.

RS2 graphical issues:
Tatooine training: In both opengl and D3D I see a kind of semi-transparent wall in the distance that moves along with me. Kind of a less annoying version of the dome effect. Also, the sky is not blue. Seems more like dusk. Comparing to this: http://youtu.be/dr0kNIzg6OE

The Mario golf Pixelshader crash (not a crash technically just getting spammed by dialog boxes) still happens in D3D. Seems fine in Opengl.

Mario power tennis seems fine except for Delfino court, as others have said. Don't know if it's related to zfreeze but the menu star-like things which are supposed to be bright yellow show up as a kind of dull gray (reference: http://youtu.be/REHRRGOILnU?t=5m21s)
Find
Reply
01-04-2015, 07:28 AM
#9
Qaazavaca Qaanic
Unregistered
 
Mario Sunshine OpenGL - In secret stages, gray "path" blocks are still there.
Reply
01-04-2015, 07:32 AM
#10
JMC47 Offline
Content Producer
*******
Content Creators (Moderators)
Posts: 6,542
Threads: 29
Joined: Feb 2013
Jimbo1qaz: can you give me a screenshot?

Pokemontrainer: EFB2RAM is needed in Rogue Squadron 2.
Find
Reply
« Next Oldest | Next Newest »
Pages (4): 1 2 3 4 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode