Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Guild Wars 2: grass disappears after mouse move #139

Closed
siro20 opened this issue Sep 16, 2015 · 6 comments
Closed

Guild Wars 2: grass disappears after mouse move #139

siro20 opened this issue Sep 16, 2015 · 6 comments

Comments

@siro20
Copy link

siro20 commented Sep 16, 2015

The grass is visible as long as the mouse isn't touched.
Once the mouse have been moved the grass is invisble until the game is reloaded.

Using WINE the grass is visible all the time.
This can be reproduced using the apitrace.

@siro20
Copy link
Author

siro20 commented Sep 20, 2015

This issue occurs with shaders set to medium or high. With shaders set to Low the problem doesn't exists, the grass is always visible.

@siro20
Copy link
Author

siro20 commented Oct 26, 2015

I added the following code to NineTexture9_ctor:

if (Height > 0 && Width > 0 && Pool == D3DPOOL_DEFAULT && Format == D3DFMT_INTZ) {
    unsigned blocksy;
    unsigned stride;
    D3DLOCKED_RECT locked_rect;
    struct NineSurface9 *surface;
    ERR("info->last_level = %d\n");
    for (l = 0; l <= info->last_level; ++l) {
        surface = This->surfaces[l];
        stride = nine_format_get_stride(pf, u_minify(Width, l));
        hr = NineSurface9_LockRect(surface, &locked_rect, NULL, D3DLOCK_DISCARD);
        if (SUCCEEDED(hr)) {
            blocksy = util_format_get_nblocksy(pf, u_minify(Height, l));

            for (unsigned y = 0; y < blocksy; y++) {
                memset(locked_rect.pBits, 0, stride);
                locked_rect.pBits += locked_rect.Pitch;
            }
            NineSurface9_UnlockRect(surface);
        }

    }
}

which fixes the problem in Guild Wars 2 and the provided apitrace.
Maybe this uncovers just an INTZ bug, where the depth texture isn't written as it should be and because of that the texture contains invalid values.

@siro20 siro20 changed the title R600: Guild Wars 2: grass disappears after mouse move Guild Wars 2: grass disappears after mouse move Nov 2, 2015
@siro20
Copy link
Author

siro20 commented Nov 2, 2015

Tested with NV84 (Nvidia Geforce 8600GT 256MB vram)
The problem still exists, so this is a nine bug.

@axeldavy
Copy link

Do you have a trace ?

@siro20
Copy link
Author

siro20 commented Nov 11, 2015

trace is on FTP /minor_bugs/issue.139.GuildWars2/

siro20 added a commit to siro20/Mesa-3D that referenced this issue Dec 13, 2015
Clear every rendertarget on creation to make sure there's no data in it.
Fixes issue: iXit#139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
@siro20 siro20 mentioned this issue Dec 13, 2015
@siro20
Copy link
Author

siro20 commented Dec 27, 2015

Fixed by 4744770

@siro20 siro20 closed this as completed Dec 27, 2015
axeldavy pushed a commit that referenced this issue Dec 27, 2015
Clear every rendertarget on creation to make sure there's no data in it.
Fixes issue: #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
axeldavy pushed a commit that referenced this issue Dec 29, 2015
Clear every rendertarget on creation to make sure there's no data in it.
Fixes issue: #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
axeldavy pushed a commit that referenced this issue Dec 30, 2015
Clear every rendertarget on creation to make sure there's no data in it.
Fixes issue: #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
axeldavy pushed a commit that referenced this issue Jan 1, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 2, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 2, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 8, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 9, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 26, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 28, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 29, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Jan 30, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
axeldavy pushed a commit that referenced this issue Feb 4, 2016
Clear every rendertarget on creation.
Fixes #139

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
Reviewed-by: Axel Davy <axel.davy@ens.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants