1. 20 May, 2021 1 commit
  2. 13 Apr, 2021 1 commit
  3. 11 Mar, 2021 1 commit
  4. 23 Feb, 2021 1 commit
    • Christian Hergert's avatar
      gsk: add OpenGL based GskNglRenderer · 2a38cecd
      Christian Hergert authored
      The primary goal here was to cleanup the current GL renderer to make
      maintenance easier going forward. Furthermore, it tracks state to allow
      us to implement more advanced renderer features going forward.
      
      Reordering
      
      This renderer will reorder batches by render target to reduce the number
      of times render targets are changed.
      
      In the future, we could also reorder by program within the render target
      if we can determine that vertices do not overlap.
      
      Uniform Snapshots
      
      To allow for reordering of batches all uniforms need to be tracked for
      the programs. This allows us to create the full uniform state when the
      batch has been moved into a new position.
      
      Some care was taken as it can be performance sensitive.
      
      Attachment Snapshots
      
      Similar to uniform snapshots, we need to know all of the texture
      attachments so that we can rebind them when necessary.
      
      Render Jobs
      
      To help isolate the process of creating GL commands from the renderer
      abstraction a render job abstraction was added. This could be extended
      in the future if we decided to do tiling.
      
      Command Queue
      
      Render jobs create batches using the command queue. The command queue
      will snapshot uniform and attachment state so that it can reorder
      batches right before executing them.
      
      Currently, the only reordering done is to ensure that we only visit
      each render target once. We could extend this by tracking vertices,
      attachments, and others.
      
      This code currently uses an inline array helper to reduce overhead
      from GArray which was showing up on profiles. It could be changed to
      use GdkArray without too much work, but had roughly double the
      instructions. Cycle counts have not yet been determined.
      
      GLSL Programs
      
      This was simplified to use XMACROS so that we can just extend one file
      (gskglprograms.defs) instead of multiple places. The programs are added
      as fields in the driver for easy access.
      
      Driver
      
      The driver manages textures, render targets, access to atlases,
      programs, and more. There is one driver per display, by using the
      shared GL context.
      
      Some work could be done here to batch uploads so that we make fewer
      calls to upload when sending icon theme data to the GPU. We'd need
      to keep a copy of the atlas data for such purposes.
      2a38cecd
  5. 17 Nov, 2020 1 commit
  6. 03 Oct, 2020 1 commit
  7. 12 Sep, 2020 1 commit
    • Matthias Clasen's avatar
      Clean up lots of GTK+ -> GTK · 929a56e5
      Matthias Clasen authored
      Replace most remaining uses of GTK+ in the docs and
      user-visible strings by GTK. Also remove some leftover
      "Was added in 3.x" sentences from the docs.
      929a56e5
  8. 10 Feb, 2020 1 commit
  9. 14 May, 2019 1 commit
  10. 12 May, 2019 1 commit
    • Benjamin Otte's avatar
      testsuite: Stop using g_test_bug() · 6f6b07aa
      Benjamin Otte authored
      The calls used old bugzilla URLs and nobody cared about that.
      So apparently they are very unused.
      
      There's also a potential conflict between gitlab and bugzilla URLs and
      what base bug to use there.
      
      The old usages have been converted to comments.
      6f6b07aa
  11. 12 Apr, 2019 1 commit
    • Benjamin Otte's avatar
      testutils: Run in UTF8 locale · c78ba420
      Benjamin Otte authored
      before, code was using the "C" locale, but that one uses ASCII. Instead,
      run in the "C.utf8" locale.
      
      Nobody expects code to not support UTF8 and no end user runs their
      machine in an ASCII setup, so it makes no sense to default to that.
      c78ba420
  12. 16 Apr, 2018 1 commit
  13. 06 Feb, 2018 1 commit
    • Matthias Clasen's avatar
      The big versioning cleanup · 4c150d8e
      Matthias Clasen authored
      Remove all the old 2.x and 3.x version annotations.
      GTK+ 4 is a new start, and from the perspective of a
      GTK+ 4 developer all these APIs have been around since
      the beginning.
      4c150d8e
  14. 25 Nov, 2017 1 commit
  15. 03 May, 2017 2 commits
  16. 19 Jan, 2017 1 commit
  17. 08 Jan, 2017 2 commits
  18. 23 Oct, 2016 1 commit
  19. 16 Oct, 2016 1 commit
  20. 08 Jan, 2016 1 commit
    • Alberto Ruiz's avatar
      introspection: This patch fixes nullable return values fixes for the following symbols in gtk · 496f0892
      Alberto Ruiz authored
        gtk_accel_group_query
        gtk_accel_group_from_accel_closure
        gtk_accel_label_get_accel_widget
        gtk_accessible_get_widget
        gtk_actionable_get_action_name
        gtk_app_chooser_get_app_info
        gtk_app_chooser_button_get_heading
        gtk_app_chooser_dialog_get_heading
        gtk_application_get_window_by_id
        gtk_assistant_get_nth_page
        gtk_binding_set_find
        gtk_builder_get_object
        gtk_builder_lookup_callback_symbol
        gtk_builder_get_application
        gtk_button_get_image
        gtk_cell_area_get_focus_from_sibling
        gtk_cell_renderer_start_editing
        gtk_cell_view_get_model
        gtk_cell_view_get_displayed_row
        gtk_clipboard_get_owner
        gtk_container_get_focus_child
        gtk_container_get_focus_vadjustment
        gtk_container_get_focus_hadjustment
        gtk_dialog_get_widget_for_response
        gtk_drag_get_source_widget
        gtk_drag_dest_get_target_list
        gtk_drag_source_get_target_list
        gtk_entry_completion_get_model
        gtk_entry_completion_compute...
      496f0892
  21. 12 Nov, 2015 1 commit
  22. 09 Nov, 2015 1 commit
  23. 04 Nov, 2015 1 commit
  24. 19 Feb, 2015 1 commit
  25. 26 Sep, 2014 1 commit
  26. 12 Jul, 2014 1 commit
  27. 07 Feb, 2014 3 commits
  28. 05 Feb, 2014 1 commit
  29. 04 Feb, 2014 1 commit
  30. 27 May, 2013 1 commit
  31. 17 May, 2013 1 commit
  32. 04 Mar, 2013 1 commit
  33. 27 Feb, 2012 1 commit
  34. 28 Nov, 2011 1 commit
  35. 02 Nov, 2011 1 commit
  36. 23 Jul, 2011 1 commit