Commit Graph

5099 Commits

Author SHA1 Message Date
Sasha Szpakowski 42812ad521 Add texture views. Fixes #2022.
Add love.graphics.newTextureView(basetexture, viewsettings). Requires GLSL4 support.
Add 'viewformats' boolean setting to texture setting tables.
Add Texture:hasViewFormats.

The viewsettings table has the following fields:
  format = nil, -- set this to a pixel format to override the base format. It must have the same number of bytes per pixel as the original, and the 'viewformats' setting on the original texture must be true for this to work. Cannot be used for compressed or depth/stencil textures.
  type = nil, -- set this to a texture type to override the base texture type. 2d base textures can make [2d, array] views. [array, cube] base textures can make [2d, array, cube] views.
  mipmapstart = nil, -- set to a number to use a less detailed mipmap level as a base.
  mipmapcount = nil, -- set to a number to override the number of mipmaps in the texture view.
  layerstart = nil, -- set to a number to use a specific layer or cube face as a base.
  layers = nil, -- set to a number to override the number of layers in an array texture view.
2024-02-24 15:45:43 -04:00
Sasha Szpakowski 1e97e09b28 Rework internal module registration to happen in constructors. 2024-02-24 15:21:38 -04:00
Sasha Szpakowski c7e4dafd88 CI: pull megasource's main branch 2024-02-19 12:11:15 -04:00
Sasha Szpakowski d2eca731d4 Remove Data:getInt64 and ByteData:setInt64.
Lua numbers don't cover the full range for 64 bit integers, so those methods couldn't be reliable.
2024-02-18 17:22:31 -04:00
Sasha Szpakowski ae6800e0e0 Add Data:performAtomic to lock a mutex while using a Data object. 2024-02-18 17:07:24 -04:00
Sasha Szpakowski 007090af14 ImageData: remove automatic mutex locks. 2024-02-18 17:06:40 -04:00
Sasha Szpakowski d880c48502 Clean up some internal texture data upload parameters. 2024-02-17 14:10:38 -04:00
Sasha Szpakowski 81d0c720a2 Fix compressed texture uploads using the wrong pixel format. 2024-02-17 14:00:31 -04:00
Sasha Szpakowski 1084d94f90 Fix missing sRGB<->Linear pixel format swaps for DXT and BC formats. 2024-02-17 13:16:10 -04:00
Sasha Szpakowski 483237ee30 Merge pull request #2018 from EngineerSmith/hash
Added container type argument for love.data.hash
2024-02-13 21:20:07 -04:00
EngineerSmith 2aa4e4b3ea Updated changes.txt 2024-02-13 01:20:10 +00:00
EngineerSmith cbf7e5680a Added old functionality back, and marked it as deprecated 2024-02-13 01:01:18 +00:00
Sasha Szpakowski 1bdb5ded50 CI: update action versions 2024-02-12 20:32:44 -04:00
Sasha Szpakowski ec177d51d1 deprecate love.window.close. 2024-02-12 20:06:55 -04:00
Sasha Szpakowski 25e008e20c metal: remove a redundant memcpy when uploading pixels to a texture. 2024-02-10 23:17:10 -04:00
Sasha Szpakowski fd2724226a CI: Re-add step to avoid Strawberry Perl messing with the build. 2024-02-10 22:52:28 -04:00
Sasha Szpakowski 7823ed476a Avoid non-ASCII characters in printed help text. 2024-02-10 19:01:48 -04:00
Sasha Szpakowski 7a55f5fb23 CI: remove strawberry perl deletion workaround for Windows 2024-02-10 13:44:17 -04:00
Sasha Szpakowski 4cd0360a92 CI: Windows builds use VS2022 toolchain 2024-02-10 13:28:52 -04:00
Sasha Szpakowski 6d4e812605 Update readme 2024-02-10 12:56:57 -04:00
Sasha Szpakowski 64a30f177f Merge branch 'main' into 12.0-development 2024-02-10 12:24:48 -04:00
Sasha Szpakowski 94d5864144 update year for copyright notice 2024-02-10 12:13:22 -04:00
EngineerSmith f00a86dc9f Added change to changes.txt 2024-02-09 01:15:45 +00:00
EngineerSmith 666fd88631 Altered tests to account for additional container argument in love.data.hash 2024-02-09 00:55:57 +00:00
EngineerSmith d125921c24 Added container type to w_hash 2024-02-09 00:29:12 +00:00
Sasha Szpakowski 8d73622311 Fix compilation 2024-02-04 23:18:40 -04:00
Sasha Szpakowski d5282339a2 Merge branch 'main' into 12.0-development 2024-02-04 23:07:50 -04:00
Sasha Szpakowski 5d11b095e8 Fix loading code-signed games on Windows with non-ascii paths.
Use DroppedFile (renamed to NativeFile in love 12) instead of C file APIs. NativeFile properly handles unicode file paths on Windows.
2024-02-03 12:06:27 -04:00
Miku AuahDark 5acc98ce43 Remove unnecessary CMake modules.
* Compiling without find_package(OpenGL REQUIRED) has no side-effect because LOVE uses SDL to load OpenGL. GLAD is used to as substitute for OpenGL headers too.
* Mpg123 is no longer used in LOVE 12. Remove the respective CMake module.
* CMake has its own FindOpenAL.cmake script. There's no need to provide our own.
2024-01-29 19:13:44 +08:00
Bart van Strien dc8391397e Merge remote-tracking branch 'origin/12.0-development' into remove-autotools 2024-01-28 11:58:26 +01:00
Sasha Szpakowski 50b18d1ac7 Add love.mouse.getGlobalPosition. Useful for custom window dragging. 2024-01-13 18:06:37 -04:00
Sasha Szpakowski bf6a6f1237 metal: error when generated SPIR-V shader IR can't be parsed 2024-01-09 21:29:54 -04:00
Sasha Szpakowski 7ff6f74a92 metal: improve shader resource binding code. 2024-01-09 21:11:04 -04:00
Sasha Szpakowski fb002ee59b opengl: fixes for default storage buffer bindings. 2024-01-09 21:10:20 -04:00
Sasha Szpakowski 8bf04df6e1 Fix uninitialized pointers leading to crashes 2024-01-08 22:31:06 -04:00
Sasha Szpakowski 3e8345280f Move default texel and shader storage buffers to high level code. 2024-01-08 22:13:47 -04:00
Sasha Szpakowski 6feedc8222 Add love.window.getPointer, returns a SDL_Window* as lightuserdata. 2024-01-08 21:09:40 -04:00
Sasha Szpakowski ecd9b007aa Fix building vulkan Shader.cpp 2024-01-07 22:00:50 -04:00
Sasha Szpakowski 95fdc1c899 Linux: don't try to build web glslang files 2024-01-07 21:58:29 -04:00
Sasha Szpakowski 715858a670 Fix typo 2024-01-07 21:46:51 -04:00
Sasha Szpakowski ddbf64d3b7 Linux: build using C++17? 2024-01-07 21:40:14 -04:00
Sasha Szpakowski c6b3d136af iOS: update deployment target
newer glslang versions require newer C++ features than the old target supported.
2024-01-07 21:26:10 -04:00
Sasha Szpakowski 904ab47d1f Fix cmake project 2024-01-07 21:22:43 -04:00
Sasha Szpakowski 8e361aefbf SPIRV-Cross: remove C API files
The spirv header for those is outdated and can cause warnings because its contents don't match the other spirv header files in SPIRV-Cross and glslang
2024-01-07 21:22:13 -04:00
Sasha Szpakowski 421cfd1a5e update SPIRV-Cross 2024-01-07 21:17:43 -04:00
Sasha Szpakowski a99d5afc57 update glslang 2024-01-07 21:14:01 -04:00
Sasha Szpakowski 501c41e10f Fix compiler warning 2024-01-06 15:44:39 -04:00
Sasha Szpakowski fffb835358 tests: fix love.graphics.setDepthMode test 2024-01-06 15:36:50 -04:00
Sasha Szpakowski 131b6c51e0 graphics: fix recursion when creating a default texture. 2024-01-06 15:22:02 -04:00
Sasha Szpakowski aaab9791d5 Improve backbuffer depth buffer.
- Setting the depth buffer for the backbuffer is now done as a boolean instead of a bit depth integer, in love.conf or love.window.setMode.
- Error if depth writes are enabled when the active canvas setup or backbuffer does not have a depth buffer (now it matches stencil behaviour).
- Don't allocate a backbuffer depth-stencil buffer if they're not requested. Metal also determines the format for that buffer based on which combination of depth and stencil is requested. OpenGL still has to allocate the depth-stencil buffer for the backbuffer all the time, because changing it requires the context to be recreated.
2024-01-06 15:21:06 -04:00