Decaf Git (2015/11/27) is released. Decaf (originally called WiiU-EMU) is a researching Wii U emulation. The Wii U is a home video game console created by Nintendo and the successor to the Wii.
Decaf Git Changelog:
* Disable tools build.
* Update README.md
Now using OpenGL 4.5 instead of DirectX12...
* Only dump if a dump of same name does not already exist.
* Re-enable shader dumping.
* First pass at 3D textures.
* Implement texture swizzle.
* Implement CB_TARGET_MASK.
* Implement pixel shader samplers.
* Fix register offset for GX2Set{Pixel,Vertex}UniformReg.
* Disable scissor test for CopyColorBufferToScanBuffer
* Fix GLSL recip.
* Fail shader compilation on uniform blocks.
* Fix active shader check.
Let's pretend this didn't happen...
* Add GX2SetDefaultState.
* Add GX2AlphaToMaskReg.
* Mess with texture pitch.
* Implement context state shadowing.
* Correct endian swap for uniform register values.
* Fix uniform count.
* Fix texture pitch.
* Fix OpenGL uninitialised warning caused by PV = PVo.
* Fix GLSL c-style cast.
* Fix active depth & color buffers.
Turns out games can use color buffers with different settings but the same
buffer address. So we must track all the relevant registers for indicating
which buffer is active.
* Initialise SQ_CONFIG.DX9_CONSTS to use Uniform Registers as default.
* Implement depth/stencil clear.
* Implement alpha, blend, color, cull, depth registers.
* Implement viewport and scissor register.
* Fix uniform register/block names.
* Cleanup some latte registers.
* Fix tool builds.
* Basic texture implementation.
* Change color buffer and depth buffer generation to use DSA.
* Implement drawing modes more thoroughly.
This includes support for decomposing QUAD's to their
triangles since OpenGL does not support these anymore.
* Started working on indexed drawing support.
* Added missing PERSISTENT specification for buffer mapping.
* Don't spam about JIT max instruction limit.
* Improve JIT performance by reducing maximum instructions.
* Fix issue causing command buffers to be skipped or ran twice.
* Start drawIndexedAuto implementation.
* Setup vertex attribute buffers.
* Properly render TV/DRC splitscreen.
* Correct issue with missing semicolon in shader recompilation.
* Add better error information to shader compilation.
* Improve buffer allocation and management.
* Remove some c-style casts in GLSL compiler.
* Change float4 to vec4 in translateAluSourceVector.
* Add screen drawing.
* Fix some shader generation invalid types.
* Implement the rest of gx2 registers.
* glsl::generateBody returning false should not be treated as terminal error.
* Fix parseFetchShader.
* Implement GX2 StencilMask operations.
* Fix missing define for glbinding.
* Add lots of gx2 register stuff.
* Add missing headers to project.
* Add PA_SC_AA_MASK, SX_ALPHA_TEST_CONTROL, SX_ALPHA_REF.
* Add CB_TARGET_MASK
* Stub the rest of GX2 registers.
* Use texture objects instead of render buffer.
* Start some render buffer stuff.
* Add OpenGL buffer swap.
* Initialise OpenGL.
Also compiles shaders!
* Implement front-end for ClearColor and ClearDepthStencil.
* Implement SQ_VTX_SEMANTIC_CLEAR.
* Fix copy-pasta in fetchshader compiler
* Fix pm4 buffer overflow copying wrong data size to new buffer.
* More shader generation stuff.
* Fix issue causing incorrect register location calculations.
* Expand the Driver methods to include most of pm4.
* Implement GX2SetVertexUniformReg.
* Start thinking about some shader stuff.
* Add resource base offsets.
* Implement GX2GetXXShaderGPRs and GX2GetXXShaderStackEntries.
* Implement GX2SetShaderModeEx.
* Implement PM4 commands for pixel/vertex uniform blocks.
* Implement custom swapping pm4 commands for Decaf.
* Merge branch 'pm4' of github.com:decaf-emu/decaf-emu into pm4
* Fix UniformInitialValue endianness.
* Big endian GX2DepthBuffer.
* Big endian GX2ColorBuffer.
* Big endian GX2PixelShader.
* Big endian GX2FetchShader.regs
* Big endian GX2BlendConstantColorReg.
* Big endian GX2DepthStencilControlReg
* Big endian GX2BlendControlReg.
* Make GX2Texture registers big endian
* Set GX2VertexShader registers to big endian.
Introduces be_array.
* Fix byte-order of the GX2Sampler registers.
* Implement SetXXXSampler stuff.
* Implement GX2SetFetchShader and GX2SetPixelShader.
* Implement a minimal GX2InitColorBufferRegs & GX2InitDepthBufferRegs.
* Implement GX2SetDepthBuffer.
* Add dumped surface format data.
* Implement GX2InitTextureRegs and GX2SetPixelTexture.
* Fetch Shader compilation now hopefully works for NoTessellation types.
* Fix spleling of teSSeLLation.
* Refactor some fetchshader stuff.
* Implement GX2SetPixelUniformReg.
* Start fetch shader compiler.
* Split latte enum/registers across a few files.
* Why are we putting ourselves through this pain.
* Properly handle multiple setContextReg registers.
* Fix glbinding pch and project dependency.
* Enough registers to make a man go mad.
* Fix pm4_writer buffer overrun handling.
* Make allocation of command buffer on non main gx2 core a no-op.
Seems like the WiiU would let this gracefully fail.
Should keep a close eye on this though.
* Make many broken things in to less broke things.
* Complete implementation of GX2LoadState.
* Implement proper display lists.
* Move GX2 clear functions to their own file, gx2_clear
* Fix oopsy.
* Add BlendConstantColorReg.
* Implement GX2WaitTimeStamp.
Should work... But it's not the best implementation,
not sure if there is a better way yet.
* Not sure about this yet, might be useful.
* Hello again glbinding.
* I regret my decisions in life.
* Rename pm4::Register to latte::Register.
* Change to use real register addresses.
* Start fleshing out this whole pm4 / gx2 / driver stuff.
* Handle running out of space in the command buffer.
* Correct a typo with the DrawIndexAuto method.
* Clean up PM4 building.
Also made the project build by fixing missing return values.
* Start rewrite of GX2 module.
* Start figuring out PM4.
Download: Decaf Git (2015/11/27)
Source: Here
2015-11-27
Random Related Topic
0 Comments
Post a Comment