Thread Rating:
  • 89 Vote(s) - 4.45 Average
  • 1
  • 2
  • 3
  • 4
  • 5
GSdx
If you know the behavior of the GS it is easier to predict the texture and to identify it. Actually it would be very interesting to backtrace the texure from the main memory and why not the game.dat (just random name) file.
It would allow a very efficient texture cache for input texture.

I don't think GSdx's texure cache is that buggy. I don't know the issue with it but I could understand that some corner cases are not handled properly. I would suspect that most of the issues are related to render target used as input texture.

Quote:It could be the best idea to create a separate texture cache for OpenGL
Why? Current texture cache is more a way to emulate the behavior of GS memory with minimal memory transfer/conversion. It is not a way to use GPU texture capabilities efficiently.
Reply

Sponsored links

Just FYI, the Dolphin's custom textures loading is quite slow. It will slow down even on a very powerful system on screens that load many textures like the Synopsis screen in Tales of Symphonia. Every letter in Tales of Symphonia is a texture. A workaround is to remove all the custom textures for the letters. I don't think this issue has been fixed yet. You can look at the Dolphin code, but just keep in mind that it's not an ideal implementation.
Reply
i was under the impression that there was no texture cache at all and it was simply bypassed.
Maybe it's Mipmaps i was thinking of, Whatever causes the missing eyes issue in Jak games

@Xemnas
I think they fixed that by using .dds textures, Though that may have only fixed the issue with mipmap textures

EDIT for clarification
Intel Core i7-8700k @5ghz
G.Skill 16GB DDR4 @3600mhz
GeForce GTX 1080 8GB
Windows 10 x64
Reply
(05-02-2015, 05:39 PM)hellbringer616 Wrote: i was under the impression that there was no texture cache at all and it was simply bypassed.
Maybe it's Mipmaps i was thinking of, Whatever causes the missing eyes issue in Jak games

I think they fixed that by using .dds textures, Though that may have only fixed the issue with mipmap textures

There is texture cache but it does not work correctly. Missing eyes are caused by the lack of mipmapping but it's related to texture cache.
Does GSDX cache emulate PS2-specific texture cache or is it just a DirectX/OpenGL cache?
Reply
Let's me explain a bit the GS behavior.

Every draw call either
1/ a texture + a palette (clut) are copyied into gs memory.
2/ framebuffer output is copyed into gs memory

1/ a previous framebuffer output is used as a texture
2/ framebuffer output is copyied into gs memory

Issue number 1 is that texture format is awkward. So gsdx converts into linear format. The first purpose of texture cache is to avoid this conversion.

Issue number 2 is the slowness to send a texture to the gpu (every draws calls). The idea is to reuse texture that are uploaded to same address with same parameters.

Issue number 3 is the reuse of FB as texture. The easy case is to rescale/convert the fb and use it as texture. However sometime you need to merge the fb with the gs memory.

Issue number 4 is to send the texture in ps2 mem.

Globally the cache has a major flaw. It saws the gs mem as a bunch of texture. If you put write 2 half texture side by side. The cache will see 2 textures not 1. GS is allowed to write 2 textures with different format on the same locations. Then it is even possible to interpret the fusion of 2 texture as a single texture... Im not sure the cache support it.
Reply
Ever since I stumbled upon PCSX2, I've wondered if it is possible to implement real time subdivisions (aka tessellations) to every mesh being rendered.

Examples of realtime subdivisions:
https://www.youtube.com/watch?v=QDxdAWH__Ps
http://perso.telecom-paristech.fr/~boube...-robot.jpg

Does anyone know if it is possible to implement something like this?
Reply
(05-03-2015, 02:52 AM)monsterjamp Wrote: Ever since I stumbled upon PCSX2, I've wondered if it is possible to implement real time subdivisions (aka tessellations) to every mesh being rendered.

Examples of realtime subdivisions:
https://www.youtube.com/watch?v=QDxdAWH__Ps
http://perso.telecom-paristech.fr/~boube...-robot.jpg

Does anyone know if it is possible to implement something like this?

I would laugh and cry if that was possible but i doubt it
Reply
(05-03-2015, 03:00 AM)tsunami2311 Wrote: I would laugh and cry if that was possible but i doubt it

Even if possible, I think it would make a lot of things look worse.
Reply
(05-03-2015, 07:27 AM)dogen Wrote: Even if possible, I think it would make a lot of things look worse.

like you said even if it was possible it would be very low on prioritizes, Scaling issue need to be dealt withand other bugs first
Reply
Ok so while testing for the impossible blend issue gregory ( which use to have in bunch game and is no longer there in iether DX or OPENGL)

I found out stretch sprite hack fixes the lines in in BOF Dragon Quarter menus but it also disabled Texture filtering like it does on Xenosaga II and its line that appears inthe main menu screen. maybe new hack fixes this but i have not tested those out cause there still done vie ini still, i will wait till those are all work in the UI for GSDX
Reply




Users browsing this thread: 6 Guest(s)