Page 2 of 5

Re: 11.0 bugs

Posted: Thu Apr 05, 2018 2:55 pm
by zorg
Ref wrote: Thu Apr 05, 2018 2:41 pm Is there no direct way to get imagedata from an image in Love 11?
The only way I've found is to draw the image to a canvas and then get the imagedata from the canvas or to reload the image from a file as imagedata.
Create the imagedata first, then create an image out of that. There shouldn't be any cases where you can't do it that way.

Re: 11.0 bugs

Posted: Thu Apr 05, 2018 3:39 pm
by slime
SiENcE wrote: Thu Apr 05, 2018 1:26 pm It's a hard crash.

Samples attached (it's not from me, it was earlier shared in the forum).

When i comment the following line out, everything works.

Code: Select all

shader2 = love.graphics.newShader("shader2.glsl")
I ran it on a Windows computer and don't crash. From the screenshot it looks like the crash is inside your graphics driver - do you have the latest available version?

You can also try setting the environment variable LOVE_GRAPHICS_USE_GL2=1 before running love from a command line and see if it works in that case, to help narrow down the problem. (You can verify whether the environment variable was successfully applied via love.graphics.getRendererInfo).

Re: 11.0 bugs

Posted: Thu Apr 05, 2018 6:42 pm
by SiENcE
slime wrote: Thu Apr 05, 2018 3:39 pmFrom the screenshot it looks like the crash is inside your graphics driver - do you have the latest available version?
It's a laptop with intel chipset. I post settings tomorrow.

But the curious thing is, love 0.92 and love 10.2 work correct. Only love 11.0 crashes.

vYou can also try setting the environment variable LOVE_GRAPHICS_USE_GL2=1 before running love from a command line and see if it works in that case, to help narrow down the problem. (You can verify whether the environment variable was successfully applied via love.graphics.getRendererInfo).
[/quote]

I'll check tomorrow. Thx.

Re: 11.0 bugs

Posted: Thu Apr 05, 2018 9:38 pm
by raidho36
azoyan wrote: Thu Apr 05, 2018 1:34 pm Where is love.audio.setEffect documentation? I see only https://love2d.org/wiki/Source:setEffect documentation.
Not really any piece of documentation but the code works, so there's that.

Re: 11.0 bugs

Posted: Thu Apr 05, 2018 9:52 pm
by slime
SiENcE wrote: Thu Apr 05, 2018 6:42 pmBut the curious thing is, love 0.92 and love 10.2 work correct. Only love 11.0 crashes.
love 11.0 uses more modern OpenGL versions / features when available, so it's a bit more susceptible to bugs inside graphics drivers than before (since drivers are less likely to have bugs in very old functionality).

It is still possible that the problem is in love's code, but it crashed inside a driver dll and I can't reproduce it on my computer.

Re: 11.0 bugs

Posted: Thu Apr 05, 2018 10:08 pm
by SiENcE
slime wrote: Thu Apr 05, 2018 9:52 pmIt is still possible that the problem is in love's code, but it crashed inside a driver dll and I can't reproduce it on my computer.
I try to analyse it tomorrow and post the graphic states and driver version. If this does not help i try to debug it.

Re: 11.0 bugs

Posted: Fri Apr 06, 2018 7:40 am
by SiENcE
slime wrote: Thu Apr 05, 2018 3:39 pmdo you have the latest available version?
Released: 2018-04-01
slime wrote: Thu Apr 05, 2018 3:39 pmYou can also try setting the environment variable LOVE_GRAPHICS_USE_GL2=1 before running love from a command line and see if it works in that case, to help narrow down the problem. (You can verify whether the environment variable was successfully applied via love.graphics.getRendererInfo).
With setting LOVE_GRAPHICS_USE_GL2=1 the sample works. Is it possible to set this setting internally in conf.lua or equally and not from commandline? Would be interesting to know the concrete problem with the shader/canvas since love 0.10.2.

Code: Select all

d:\test>SET LOVE_GRAPHICS_USE_GL2=1

d:\test>love110 .

d:\test>
This game indicates it was made for version '0.10.2' of LOVE.
It may not be compatible with the running version (11.0).
LOVE:   11.0
'pixelshaderhighp:'     true
'glsl3:'        false
'lighten:'      true
'multicanvasformats:'   true
'clampzero:'    true
'shaderderivatives:'    true
'instancing:'   true
'fullnpot:'     true
'texturesize:'  8192
'pointsize:'    20
'canvasmsaa:'   8
'cubetexturesize:'      8192
'anisotropy:'   16
'texturelayers:'        2048
'multicanvas:'  8
'volumetexturesize:'    2048
Processor Cores: 4

Name: OpenGL
Version: 4.0.0 - Build 9.18.10.3272
Vendor: Intel
Device: Intel(R) HD Graphics 4400

LOVE_GRAPHICS_USE_GL2   1

Re: 11.0 bugs

Posted: Fri Apr 06, 2018 8:57 am
by SiENcE
Solved by installing the newest driver. Nothing was mentioned in the changelog, but, it works :). So either a new driver [Version: 3.3.0 - Build 10.18.14.4139] or LOVE_GRAPHICS_USE_GL2=1 setting works.

Btw. 'glsl3:' true is now true, pointsize is increased as well as texturesize.

What does LOVE_GRAPHICS_USE_GL2=1 does?

Code: Select all

This game indicates it was made for version '0.10.2' of LOVE.
It may not be compatible with the running version (11.0).
LOVE:   11.0
'pixelshaderhighp:'     true
'glsl3:'        true
'lighten:'      true
'multicanvasformats:'   true
'clampzero:'    true
'shaderderivatives:'    true
'instancing:'   true
'fullnpot:'     true
'texturesize:'  16384
'pointsize:'    255
'canvasmsaa:'   8
'cubetexturesize:'      16384
'anisotropy:'   16
'texturelayers:'        2048
'multicanvas:'  8
'volumetexturesize:'    2048
Processor Cores: 4

Name: OpenGL
Version: 3.3.0 - Build 10.18.14.4139
Vendor: Intel
Device: Intel(R) HD Graphics 4400

LOVE_GRAPHICS_USE_GL2   nil

Re: 11.0 bugs

Posted: Fri Apr 06, 2018 1:02 pm
by slime
SiENcE wrote: Fri Apr 06, 2018 8:57 am What does LOVE_GRAPHICS_USE_GL2=1 does?
It forces love to only use older parts of the graphics driver / older OpenGL features, even if the driver advertises OpenGL 3 support. Setting it will prevent various newer optional graphics features from working as well, such as GLSL 3.

If a graphics driver doesn't advertise OpenGL 3 support, love will behave the same with and without LOVE_GRAPHICS_USE_GL2 since the only thing available is GL2.

Re: 11.0 bugs

Posted: Sat Apr 07, 2018 1:46 am
by drunken_munki
Have spritebatches changed in any dramatic way?

I have an sb that has approx 700 images in a texture atlas, set up with quads. During a map load the Sb is told to load up about 9k draws (sometimes 20k for a big map), which I then render into a canvas that is used as the floor of the game space.

In 11.0 I can load two maps and then the SB renders out only black. In 0.10.2 I could load endless maps with no issues, all reusing the same structure.

Do I have to manually reset the sb now? If I wipe the sb and create a new one each map load, nothing changes, which seems strange!

Wondering if there is a memory leak or the internal counter isn't reseting and the sprite limit is always being hit?

Example: I load a game, image 1. I reload the same map, image 2, every ok. Third time the sb renders out only black.

1.png
1.png (736.15 KiB) Viewed 12562 times
2.png
2.png (778.31 KiB) Viewed 12562 times
3.png
3.png (145.9 KiB) Viewed 12562 times