Closed thatcosmonaut closed 4 years ago
If you would like to help, please claim a task either by commenting here or notifying me in the FNA Discord server so we don't step on each other's toes.
Also I would kindly request that you rebase on vulkan
before submitting your PR for review. Thank you!
Putting together a testing list... this is sorted according to the features that seem to be the biggest pain to get right. These lists ignore user primitives which are automatic "Fucking Dead Mode".
[x] SpriteBatch Only:
[x] SpriteBatch with Targets:
[x] SpriteBatch with Shaders/Targets:
[x] SpriteBatch with Shaders/Targets/Video:
[ ] Custom 2D (Hard Mode starts here):
[ ] Custom 3D (Ultra Nightmare Mode starts here):
Unknown: Everything else in this list
@thatcosmonaut there is the sentence various implementations available at runtime (including OpenGL, Metal, and Direct3D)
in README. Shouldn't be added here info about Vulkan in your PR https://github.com/FNA-XNA/FNA3D/pull/13?
@jqadev Updated here: https://github.com/thatcosmonaut/FNA3D/pull/49
The entire API has now been implemented (aside from GetTextureData3D which nobody uses). There are some lingering issues but we can address those on a case by case basis. Closing this issue.
If you need help knowing where to start with these, the FNA3D Metal driver is a good reference point: https://github.com/FNA-XNA/FNA3D/blob/master/src/FNA3D_Driver_Metal.c
Easy
AddDisposeEffect
(claimed by @NoaGleason)AddDisposeRenderbuffer
(claimed by @NoaGleason)AddDisposeQuery
(claimed by @NoaGleason)ApplyEffect
BeginPassRestore
(claimed by @NoaGleason)CreateQuery
(claimed by @NoaGleason)EndPassRestore
(claimed by @NoaGleason)GetBackbufferSize
GetBackbufferSurfaceFormat
GetBackbufferDepthFormat
GetBackbufferMultiSampleCount
(claimed by @NoaGleason)GetBlendFactor
GetMultisampleMask
(claimed by @NoaGleason)GetReferenceStencil
CreateEffect
CloneEffect
(claimed by @NoaGleason)CreateTexture2D
CreateTexture3D
CreateTextureCube
GenColorRenderbuffer
(claimed by @NoaGleason)GenDepthStencilRenderbuffer
(claimed by @NoaGleason)GetMaxMultisampleCount
(claimed by @TheSpydog)GetMaxTextureSlots
GetTextureData2D
(claimed by @TheSpydog)GetTextureData3D
(claimed by @TheSpydog)GetTextureDataCube
(claimed by @TheSpydog)ResetBackbuffer
ResolveTarget
SetBlendState
(claimed by @NoaGleason)SetDepthStencilState
(claimed by @NoaGleason)SetEffectTechnique
(claimed by @NoaGleason)SetMultisampleMask
(claimed by @NoaGleason)SetReferenceStencil
SetStringMarker
(claimed by @TheSpydog)SupportsDXT1
(claimed by @TheSpydog)SupportsS3TC
(claimed by @TheSpydog)SupportsHardwareInstancing
SupportsNoOverwrite
QueryBegin
(claimed by @NoaGleason)QueryComplete
(claimed by @NoaGleason)QueryEnd
(claimed by @NoaGleason)QueryPixelCount
(claimed by @NoaGleason)FNA3D_Log
functionsMedium
AddDisposeVertexBuffer
AddDisposeTexture
ApplyRasterizerState
Clear
DestroyDevice
DrawIndexedPrimitives
DrawInstancedPrimitives
DrawPrimitives
DrawUserIndexedPrimitives
DrawUserPrimitives
GenIndexBuffer
GenVertexBuffer
GetIndexBufferData
GetVertexBufferData
SetIndexBufferData
SetVertexBufferData
VerifyVertexSampler
(claimed by @TheSpydog)Hard
BeginFrame
ReadBackbuffer
SetRenderTargets
SetTextureData2D
SetTextureData3D
(claimed by @TheSpydog)SetTextureDataCube
(claimed by @TheSpydog)SetTextureDataYUV
(claimed by @TheSpydog)SwapBuffers
VerifySampler
BeginRenderPass
ULTRA NIGHTMARE
ApplyVertexBufferBindings
ApplyVertexDeclaration
CreateDevice