Commit Graph

9097 Commits

Author SHA1 Message Date
Nathan Adams f0ebefd624 tests: Add bitmapdata recursive draw test 2023-03-31 16:57:52 +02:00
Nathan Adams c85910b46d wgpu: Fixed panic when rendering texture to itself, by always rendering to an intermediary 2023-03-31 16:57:52 +02:00
Nathan Adams 68343369a3 core: Don't sync cpu->gpu in overwrite_cpu_pixels_from_gpu 2023-03-31 16:57:52 +02:00
Nathan Adams cae8f89c9b core: Remove clone from copy_pixels_with_alpha_source and don't sync if copying outside dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams d7b0a6f611 core: Remove clone from copy_pixels and don't sync if copying outside dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams f5501b57da core: Remove clone from merge and don't sync if copying outside dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams 44c35a5b50 core: Made palette_map not sync if copying outside of dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams b1b3eef283 core: Remove clone from threshold and don't sync if copying outside dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams 2b84e926ec core: Remove clone from copy_channel and don't sync if copying outside dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams 966f5bc816 core: Skip bitmapdata.draw which will affect 0 pixels 2023-03-31 16:57:52 +02:00
Nathan Adams e6d36ade7f core: Make get_pixels_as_byte_array not sync if the pixel is outside a dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams fd0ba4a753 core: Make get_vector not sync if the pixel is outside a dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams 864ee1c6df core: Make hit test methods not sync if the pixel is outside a dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams 8fc1b0d48e core: Make get_pixel and get_pixel32 not sync if the pixel is outside a dirty region 2023-03-31 16:57:52 +02:00
Nathan Adams e1f76bf135 core: Use map instead of and_then for MovieLibrarySource::bitmap_handle 2023-03-31 16:57:52 +02:00
Nathan Adams 78f9bb13d6 render: Fix PixelRegion::for_region_i32 for negative coordinates 2023-03-31 16:57:52 +02:00
Nathan Adams b035c7f24e core: noise and perlin_noise shouldn't perform a gpu->cpu sync 2023-03-31 16:57:52 +02:00
Nathan Adams 2b483a5953 core: Ensure MovieLibrarySource::bitmap_handle updates the bitmap handle 2023-03-31 16:57:52 +02:00
Nathan Adams d44bdc16a8 avm2: Ensure Graphics.lineBitmapStyle updates the bitmap handle 2023-03-31 16:57:52 +02:00
Nathan Adams 7e2382d804 avm2: Ensure DisplacementMapFilter.mapBitmap updates the bitmap handle 2023-03-31 16:57:52 +02:00
Nathan Adams 29ad46daf5 avm1: Ensure MovieClip.beginBitmapFill updates the bitmap handle 2023-03-31 16:57:52 +02:00
Nathan Adams c364deb545 avm2: Ensure Graphics.beginBitmapFill updates the bitmap handle 2023-03-31 16:57:52 +02:00
Nathan Adams 9e5c56fc4f core: BitmapData.transparent (in both avm1 and 2) shouldn't sync the whole bmd 2023-03-31 16:57:52 +02:00
Nathan Adams e62e05cd09 core: Move get_pixels from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 89c2fc841e core: Move get_vector from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams e4caedcc12 core: Move draw from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 57648b6380 core: Move apply_filter from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 8bb02c38c0 core: Move copy_pixels from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams eb04738b73 core: Move set_pixel from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams a41a797b4a core: Move merge from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 60a157224f core: Move color_bounds_rect from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 62b90c6c8e core: Move hit test methods from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 2c65f23eb8 core: Move compare from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 8a0cb4685e core: Move palette_map from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams b1b0394101 core: Move scroll from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 4510eb305b core: Move threshold from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams f476968693 core: Move color_transform from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 43716bbdc7 core: Move copy_channel from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams ea6fb1a3d4 core: Move perlin_noise from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams ffe6828e9c core: Move noise from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 285122a1fa core: Move flood_fill from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams c2af7b92c0 core: Move get_pixel from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 758d8f1492 core: Move get_pixel32 from BitmapData to bitmap_data_operations 2023-03-31 16:57:52 +02:00
Nathan Adams 31f46c6acf core: Move set_pixel32 from BitmapData to bitmap_data_operations, fixed set_pixels to no longer use it 2023-03-31 16:57:52 +02:00
Nathan Adams 1024fc8be5 core: Optimise fill_rect when replacing entire region after a draw call 2023-03-31 16:57:52 +02:00
Nathan Adams e614265c17 core: Move fill_rect from BitmapData to bitmap_data_operations, fixed a bug when using non-standard values, and added better tests for fill_rect showing the bug 2023-03-31 16:57:52 +02:00
Nathan Adams 033ab34c14 core: Extract bitmap_data_operations for common avm operations 2023-03-31 16:57:52 +02:00
Nathan Adams 311a165149 wgpu: Reintroduce texture promoting; only preassign buffer when the texture is frequently written/&read 2023-03-31 16:57:52 +02:00
Nathan Adams 579f046122 core: Don't mark anything dirty in an invalid drawRect call 2023-03-31 16:57:52 +02:00
Nathan Adams 68c87c7485 core: When drawing display objects to bitmapdatas, use their minimum bounds 2023-03-31 16:57:52 +02:00