Project

General

Profile

Actions

Emulator Issues #8298

closed

Last blit scaling looks unfiltered

Added by KrossX3 about 9 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Current
Regression:
Yes
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

Description

Game Name? Tales of Symphonia
Game ID? GQSEAF

What's the problem?
Final image looks unfiltered with OGL.
http://i.imgur.com/S6ri0az.png

What did you expect to happen instead?
Final image to look filtered, like with D3D.
http://i.imgur.com/5rgVcmU.png

What steps will reproduce the problem?

  1. OGL Backend with screen resolution != IR (most noticeable with 1x native)
  2. Load game / FIFO thing
  3. Increase window size / fullscreen

Which versions of Dolphin did you test on?
4.0.2
4.0-5626

Does using an older version of Dolphin solve your issue? If yes, which
versions of Dolphin used to work?
Yes, 4.0.2 seems to work fine.

What are your PC specifications? (including, but not limited to: Operating
System, CPU and GPU)
OS: Win7 x64 SP1
CPU: AMD Athlon II X2 240
GPU: Radeon HD 5770

Is there any other relevant information? (e.g. logs, screenshots,
configuration files)

From this thread:
https://forums.dolphin-emu.org/Thread-bilinear-shader

I thought it was a feature at first, since OGL has the shader support while D3D doesn't. But as degasus mentioned (https://github.com/dolphin-emu/dolphin/blob/master/Source/Core/VideoBackends/OGL/PostProcessing.cpp#L157), it should be filtered. I could hackfix it adding glBindSampler(0, 0); and it seemed to work while using unit9 didn't. Weird...

Using CodeXL, I could see no issue with the samplers as none was bound to unit9 and last active texture was indeed GL_TEXTURE9. All of the samplers look bound to at least unit0 though which is why I tried that.

Time to track down the last build that worked fine...

Fifo thing
http://www.mediafire.com/download/dvqy8mxr11yc7ax/FIFO.7z

Actions #1

Updated by KrossX3 about 9 years ago

4.0-3808 - "normal"
4.0-3810 - "broken"

Change on 3810 "OGL: force enable postprocessing"
https://github.com/dolphin-emu/dolphin/pull/1322

I didn't notice before, but when the text in the bubbles stop, it looks pixelated but othertimes screen looks filtered. O.O

Actions #2

Updated by degasus about 9 years ago

  • Status changed from New to Accepted
  • Milestone set to Current
Actions #4

Updated by JMC4789 about 9 years ago

  • Regression set to Yes
  • Priority set to High
Actions #5

Updated by flacs almost 9 years ago

  • Priority changed from High to Normal
Actions #6

Updated by JMC4789 almost 9 years ago

Bump. Any news on this?

Actions #7

Updated by KrossX3 almost 9 years ago

I just hackfixed it by changing

glActiveTexture(GL_TEXTURE0+9);
glBindTexture(GL_TEXTURE_2D_ARRAY, src_texture);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

to

GLint sampler;
glGetIntegerv(GL_SAMPLER_BINDING, &sampler);
glBindSampler(0, 0);

glActiveTexture(GL_TEXTURE0+9);
glBindTexture(GL_TEXTURE_2D_ARRAY, src_texture);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);

glBindSampler(0, sampler);

Seemed to work fine with that.

Actions #8

Updated by degasus almost 9 years ago

It's a driver bug. So either we wait for AMD to fix it, or we just create two global sampler and use them all over the place.

Actions #10

Updated by JMC4789 almost 9 years ago

  • Status changed from Accepted to Fix pending

Assuming fixed in PR until further notice.

Actions #11

Updated by degasus almost 9 years ago

  • Status changed from Fix pending to Fixed

Should be fixed by 4.0-6452

Actions

Also available in: Atom PDF