mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-07 14:45:41 +12:00
Merge pull request #86 from skylersaleh/ColorDepthCacheUpdates
Color and depth cache updates
This commit is contained in:
commit
b2c6a5e801
3 changed files with 10 additions and 6 deletions
|
@ -43,8 +43,8 @@ class Renderer {
|
|||
float oldDepthOffset = 0.0;
|
||||
bool oldDepthmapEnable = false;
|
||||
|
||||
SurfaceCache<DepthBuffer, 10> depthBufferCache;
|
||||
SurfaceCache<ColourBuffer, 10> colourBufferCache;
|
||||
SurfaceCache<DepthBuffer, 10, true> depthBufferCache;
|
||||
SurfaceCache<ColourBuffer, 10, true> colourBufferCache;
|
||||
SurfaceCache<Texture, 256, true> textureCache;
|
||||
|
||||
OpenGL::uvec2 fbSize; // The size of the framebuffer (ie both the colour and depth buffer)'
|
||||
|
|
|
@ -46,7 +46,7 @@ public:
|
|||
|
||||
OptionalRef findFromAddress(u32 address) {
|
||||
for (auto& e : buffer) {
|
||||
if (e.location == address && e.valid)
|
||||
if (e.location <= address && e.location+e.sizeInBytes() > address && e.valid)
|
||||
return e;
|
||||
}
|
||||
|
||||
|
|
|
@ -60,8 +60,10 @@ struct ColourBuffer {
|
|||
void free() {
|
||||
valid = false;
|
||||
|
||||
if (texture.exists() || fbo.exists())
|
||||
Helpers::panic("Make this buffer free itself");
|
||||
if (texture.exists() || fbo.exists()){
|
||||
texture.free();
|
||||
fbo.free();
|
||||
}
|
||||
}
|
||||
|
||||
bool matches(ColourBuffer& other) {
|
||||
|
@ -128,8 +130,10 @@ struct DepthBuffer {
|
|||
}
|
||||
|
||||
void free() {
|
||||
if(texture.exists()){
|
||||
texture.free();
|
||||
}
|
||||
valid = false;
|
||||
printf("Make this depth buffer free itself\n");
|
||||
}
|
||||
|
||||
bool matches(DepthBuffer& other) {
|
||||
|
|
Loading…
Add table
Reference in a new issue