GithubHelp home page GithubHelp logo

Comments (11)

sarnex avatar sarnex commented on July 27, 2024

The menu graphics are also very glitchy, sometimes they don't appear or are flickering. I don't know if it's related.

from dota-2.

Plagman avatar Plagman commented on July 27, 2024

Looks like we use a few extensions that are not supported by the radeonsi driver yet. We could do a better job of detecting that and failing to start, but I would let the Mesa people know about this regardless.

from dota-2.

imirkin avatar imirkin commented on July 27, 2024

glScissor returning INVALID_VALUE means that negative width/height are being passed in. Mesa should support ARB_sso on all drivers, but it's one of the less-tested extensions (or rather, one of the ones with the biggest test surface), so the glUseProgramStages thing could happen for a million different reasons.

from dota-2.

imirkin avatar imirkin commented on July 27, 2024

FWIW this is the code that generates the sso error. I'm in the process of getting the game, so I can't tell if these conditions are actually met and it's correctly returning that error or not.

  /* Section 2.11.4 (Program Pipeline Objects) of the OpenGL 4.1 spec
   * says:
   *
   *     "If the program object named by program was linked without the
   *     PROGRAM_SEPARABLE parameter set, or was not linked successfully,
   *     the error INVALID_OPERATION is generated and the corresponding
   *     shader stages in the pipeline program pipeline object are not
   *     modified."
   */
  if (!shProg->LinkStatus) {
     _mesa_error(ctx, GL_INVALID_OPERATION,
                 "glUseProgramStages(program not linked)");
     return;
  }

from dota-2.

Plagman avatar Plagman commented on July 27, 2024

I don't have a setup that can reproduce this, but if you find any problems with the engine's use of ARB_sso let us know!

from dota-2.

sarnex avatar sarnex commented on July 27, 2024

I've created an apitrace for anyone interested

https://idontevenlift.no-ip.org/dota2.trace.xz

Edit: Here is a better trace with a Mesa bug fixed
https://idontevenlift.no-ip.org/dota2_patched.trace.xz

Thanks,
sarnex

from dota-2.

imirkin avatar imirkin commented on July 27, 2024

OK, so the sso failures were mesa's bad. Patch available at http://patchwork.freedesktop.org/patch/52603/ . Will merge soonish unless people point out some issue.

However the glScissor errors are pretty unambigiously Dota 2 Reborn's bad. You can see this yourself in the trace... just a few examples below, but there are tons:

764104 @1 glScissor(x = 1, y = 0, width = -1, height = 65573)
748602 @1 glScissor(x = -16313741, y = -16313738, width = -16313741, height = -1643902141)
742166 @1 glScissor(x = 48, y = 53, width = -1, height = 65589)
724556 @1 glScissor(x = -16313741, y = -16313738, width = -16313741, height = -1643902141)

These happen a ton in the trace, and either width or height being negative is illegal in GL.

from dota-2.

imirkin avatar imirkin commented on July 27, 2024

One thing to note is that the radeonsi driver doesn't support ARB_viewport_arrays, and you're querying MAX_VIEWPORTS and getting 0 back, so perhaps you're looping over # of viewports somewhere and so you end up not setting anything? Just a guess based on an observation airlied made on IRC.

from dota-2.

gdrewb-valve avatar gdrewb-valve commented on July 27, 2024

Yes, the viewport array issue is exactly what you describe, we are not checking for the presence of the extension.

from dota-2.

danginsburg avatar danginsburg commented on July 27, 2024

I've checked in a fix for the GL_ARB_viewport_array issue and confirmed it can cause uninitialized scissor values (as well as viewport values). The fix will be in the next update.

from dota-2.

gdrewb-valve avatar gdrewb-valve commented on July 27, 2024

The viewport errors should be resolved in the 6/25 update.

from dota-2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.