* added filter type to draw batch
* c++ implementation of ImageSamplerOptions
* image sampler options now pushes correct for RiveRenderPaint
* wip
* OpenGL uses correct sample options
* now only one filter option that accounts for mip map
* d3d now uses sampler states options
* better way to get the filter option
* added mirror and inverse mirror options
* started using helper functions for retreiving sampler optiojnhs
* workaround for vulkn semaphore issue
* wip
* added filter type to draw batch
* c++ implementation of ImageSamplerOptions
* image sampler options now pushes correct for RiveRenderPaint
* wip
* OpenGL uses correct sample options
* now only one filter option that accounts for mip map
* d3d now uses sampler states options
* better way to get the filter option
* added mirror and inverse mirror options
* started using helper functions for retreiving sampler optiojnhs
* workaround for vulkn semaphore issue
* wip
* undo deleting empty descriptor
* properly packed image options
* removed uneeded checks
* more unit tests
* unreal image_filter_options integration, gm for image filters
* properly implement new draw functions for cgrender
* finish mege conflicts
* merge vulkan sampler options
* cherry-picked vulkan imp into branch
* initial metal
* clang-format
* d3d12 image filter options
* fixed d3d
* clang-format
* fixed mip filter for metal
* made every filter option act as similiar as possible
* addressed pr changes
* fixed tests
* empty commit to fix github
* fix: webgl renderers
* started addressing PR comments
* metal change for pr
* more pr stuff
* final PR address
* shader update per PR request
* rhi updat e
* added gm requested in pr
* made d3d12 work with more then 2000 sampler changes per flush
* pr comments
Co-authored-by: Chris Dalton <chris@rive.app>
Co-authored-by: Jonathon Copeland <jcopela4@gmail.com>
Co-authored-by: Luigi Rosso <luigi.rosso@gmail.com>
Adds map() and unmap() functions to RenderBuffer, and changes Mesh::draw() to map and update the vertex buffer instead of making a new one.
Also refactors RenderBuffer to just be a blob of data as opposed to an array of elements of fixed size and type. Removes the type-specific factory methods for creating RenderBuffers in favor of a single one that just takes a buffer type and buffer size.
Diffs=
06a187288 Make RenderBuffer mappable (#5907)
Co-authored-by: Chris Dalton <99840794+csmartdalton@users.noreply.github.com>
We had the idea of a "noop" factory or renderer in a few places. Centralize these in "utils".
Involved moving the specialized noorenderpath into its test file.
Diffs=
ec44ae50d Move noop subclasses into utils