[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52782] trunk/blender: Fix #33417: add back GPU Mipmap Generation option, apparently with this disabled

Mitchell Stokes mogurijin at gmail.com
Tue Dec 11 22:36:40 CET 2012


Thanks!

--Mitchell

On Mon, Dec 10, 2012 at 10:47 PM, Brecht Van Lommel <
brechtvanlommel at pandora.be> wrote:

> Ok, then the previous fix didn't make any difference, the option was
> already 0 in gpu_draw.c, so this just disabled it again. Fix committed
> now which actually enables it.
>
> Brecht.
>
> On Tue, Dec 11, 2012 at 6:16 AM, Mitchell Stokes <mogurijin at gmail.com>
> wrote:
> > I wish I would have caught this sooner, but U.use_gpu_mipmap will always
> be
> > false in the Blenderplayer. The Blenderplayer doesn't make use of user
> > preferences and instead grabs settings from the command line or values
> > saved in Scene data. If you look at line 487 of GPG_ghost.cpp, then
> you'll
> > see that U.anisotropic_filter is explicitly set prior to the
> > GPU_set_anisotropic() call.
> >
> > Cheers,
> > Mitchell Stokes
> >
> > On Wed, Dec 5, 2012 at 3:46 AM, Brecht Van Lommel <
> > brechtvanlommel at pandora.be> wrote:
> >
> >> Revision: 52782
> >>
> >>
> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52782
> >> Author:   blendix
> >> Date:     2012-12-05 11:46:13 +0000 (Wed, 05 Dec 2012)
> >> Log Message:
> >> -----------
> >> Fix #33417: add back GPU Mipmap Generation option, apparently with this
> >> disabled
> >> it takes up less memory on some cards, still unclear why.
> >>
> >> Modified Paths:
> >> --------------
> >>     trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
> >>     trunk/blender/source/blender/gpu/GPU_draw.h
> >>     trunk/blender/source/blender/gpu/intern/gpu_draw.c
> >>     trunk/blender/source/blender/makesrna/intern/rna_userdef.c
> >>     trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
> >>     trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
> >>
> >> Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
> >> ===================================================================
> >> --- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
> >> 2012-12-05 06:30:17 UTC (rev 52781)
> >> +++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
> >> 2012-12-05 11:46:13 UTC (rev 52782)
> >> @@ -437,6 +437,7 @@
> >>          col.label(text="OpenGL:")
> >>          col.prop(system, "gl_clip_alpha", slider=True)
> >>          col.prop(system, "use_mipmaps")
> >> +        col.prop(system, "use_gpu_mipmap")
> >>          col.prop(system, "use_16bit_textures")
> >>          col.label(text="Anisotropic Filtering")
> >>          col.prop(system, "anisotropic_filter", text="")
> >>
> >> Modified: trunk/blender/source/blender/gpu/GPU_draw.h
> >> ===================================================================
> >> --- trunk/blender/source/blender/gpu/GPU_draw.h 2012-12-05 06:30:17 UTC
> >> (rev 52781)
> >> +++ trunk/blender/source/blender/gpu/GPU_draw.h 2012-12-05 11:46:13 UTC
> >> (rev 52782)
> >> @@ -116,7 +116,7 @@
> >>  float GPU_get_anisotropic(void);
> >>
> >>  /* enable gpu mipmapping */
> >> -void GPU_set_gpu_mipmapping(void);
> >> +void GPU_set_gpu_mipmapping(int gpu_mipmap);
> >>
> >>  /* Image updates and free
> >>   * - these deal with images bound as opengl textures */
> >>
> >> Modified: trunk/blender/source/blender/gpu/intern/gpu_draw.c
> >> ===================================================================
> >> --- trunk/blender/source/blender/gpu/intern/gpu_draw.c  2012-12-05
> >> 06:30:17 UTC (rev 52781)
> >> +++ trunk/blender/source/blender/gpu/intern/gpu_draw.c  2012-12-05
> >> 11:46:13 UTC (rev 52782)
> >> @@ -240,10 +240,16 @@
> >>
> >>  /* Mipmap settings */
> >>
> >> -void GPU_set_gpu_mipmapping()
> >> +void GPU_set_gpu_mipmapping(int gpu_mipmap)
> >>  {
> >> -       /* always enable if it's supported */
> >> -       GTS.gpu_mipmap = GLEW_EXT_framebuffer_object;
> >> +       int old_value = GTS.gpu_mipmap;
> >> +
> >> +       /* only actually enable if it's supported */
> >> +       GTS.gpu_mipmap = gpu_mipmap && GLEW_EXT_framebuffer_object;
> >> +
> >> +       if (old_value != GTS.gpu_mipmap) {
> >> +               GPU_free_images();
> >> +       }
> >>  }
> >>
> >>  void GPU_set_mipmap(int mipmap)
> >>
> >> Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
> >> ===================================================================
> >> --- trunk/blender/source/blender/makesrna/intern/rna_userdef.c
>  2012-12-05
> >> 06:30:17 UTC (rev 52781)
> >> +++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c
>  2012-12-05
> >> 11:46:13 UTC (rev 52782)
> >> @@ -144,6 +144,12 @@
> >>         rna_userdef_update(bmain, scene, ptr);
> >>  }
> >>
> >> +static void rna_userdef_gl_gpu_mipmaps(Main *bmain, Scene *scene,
> >> PointerRNA *ptr)
> >> +{
> >> +       GPU_set_gpu_mipmapping(U.use_gpu_mipmap);
> >> +       rna_userdef_update(bmain, scene, ptr);
> >> +}
> >> +
> >>  static void rna_userdef_gl_texture_limit_update(Main *bmain, Scene
> >> *scene, PointerRNA *ptr)
> >>  {
> >>         GPU_free_images();
> >> @@ -3218,6 +3224,11 @@
> >>         RNA_def_property_ui_text(prop, "16 Bit Float Textures", "Use 16
> >> bit per component texture for float images");
> >>         RNA_def_property_update(prop, 0,
> >> "rna_userdef_gl_use_16bit_textures");
> >>
> >> +       prop = RNA_def_property(srna, "use_gpu_mipmap", PROP_BOOLEAN,
> >> PROP_NONE);
> >> +       RNA_def_property_boolean_sdna(prop, NULL, "use_gpu_mipmap", 1);
> >> +       RNA_def_property_ui_text(prop, "GPU Mipmap Generation",
> "Generate
> >> Image Mipmaps on the GPU");
> >> +       RNA_def_property_update(prop, 0, "rna_userdef_gl_gpu_mipmaps");
> >> +
> >>         prop = RNA_def_property(srna, "use_vertex_buffer_objects",
> >> PROP_BOOLEAN, PROP_NONE);
> >>         RNA_def_property_boolean_negative_sdna(prop, NULL, "gameflags",
> >> USER_DISABLE_VBO);
> >>         RNA_def_property_ui_text(prop, "VBOs",
> >>
> >> Modified:
> trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
> >> ===================================================================
> >> --- trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
> >>  2012-12-05 06:30:17 UTC (rev 52781)
> >> +++ trunk/blender/source/blender/windowmanager/intern/wm_init_exit.c
> >>  2012-12-05 11:46:13 UTC (rev 52782)
> >> @@ -183,7 +183,7 @@
> >>                 GPU_extensions_init();
> >>                 GPU_set_mipmap(!(U.gameflags & USER_DISABLE_MIPMAP));
> >>                 GPU_set_anisotropic(U.anisotropic_filter);
> >> -               GPU_set_gpu_mipmapping();
> >> +               GPU_set_gpu_mipmapping(U.use_gpu_mipmap);
> >>
> >>                 UI_init();
> >>         }
> >>
> >> Modified: trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
> >> ===================================================================
> >> --- trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
> >>  2012-12-05 06:30:17 UTC (rev 52781)
> >> +++ trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
> >>  2012-12-05 11:46:13 UTC (rev 52782)
> >> @@ -756,7 +756,7 @@
> >>                 }
> >>
> >>                 GPU_set_anisotropic(U.anisotropic_filter);
> >> -               GPU_set_gpu_mipmapping();
> >> +               GPU_set_gpu_mipmapping(U.use_gpu_mipmap);
> >>
> >>                 // Create the system
> >>                 if (GHOST_ISystem::createSystem() == GHOST_kSuccess)
> >>
> >> _______________________________________________
> >> Bf-blender-cvs mailing list
> >> Bf-blender-cvs at blender.org
> >> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
> >>
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
>


More information about the Bf-committers mailing list