Commit Graph

10410 Commits (dfec59c60e55ca2bb49295da0932560d424b8b49)

Author SHA1 Message Date
Martin Gräßlin dfec59c60e Port getStringProperty to XCB 2013-05-13 08:48:19 +02:00
Martin Gräßlin cefaa756e7 Port ClientWinMask to XCB
Enum values are nicer than defines.
2013-05-13 08:48:19 +02:00
Martin Gräßlin 5018c35313 Port timestampCompare/Diff to xcb
basically: s/Time/xcb_timestamp_t/g
2013-05-13 08:48:19 +02:00
Martin Gräßlin 20f9af1571 Port qt/x11 button and modifier mapping to XCB
enums are nicer than C defines
2013-05-13 08:48:19 +02:00
Martin Gräßlin a51ba112fd Port (un)grabXServer to xcb 2013-05-13 08:48:19 +02:00
Martin Gräßlin 7e9d7f3959 Port (un)grabXKeyboard to XCB 2013-05-13 08:48:19 +02:00
Martin Gräßlin 023de5b75e Remove Workspace pointer from Group
REVIEW: 110360
2013-05-13 08:28:21 +02:00
Martin Gräßlin fc4f431bfb Remove Workspace pointer from Placement 2013-05-13 08:28:16 +02:00
Martin Gräßlin d305185247 Remove Workspace pointer from Toplevel
Instead have a simple workspace() method returning the pointer.
2013-05-13 08:28:16 +02:00
Martin Gräßlin c4b3d11261 Reparse configuration before (un)loading scripts
When the scripting KCM triggered a loading of a script it did not work
because the scripting code was operating on an old data set.

Reparsing the configuration before evaluating which scripts to (un)load
solves this problem.

Cherry-picked from 4.10 branch: dd5b4bdec8e24359d4715c078e2f442967a3f873

CCBUG: 319767
2013-05-13 08:26:39 +02:00
Script Kiddy d8db0f88be SVN_SILENT made messages (.desktop file) 2013-05-12 08:49:41 +02:00
Kai Uwe Broulik ed955e9488 Rewrite Scale In effect in JavaScript
REVIEW: 109075
2013-05-11 22:20:39 +00:00
Montel Laurent dd8cf0b678 normalize signal/slot 2013-05-11 14:09:15 +02:00
Script Kiddy 68ddc5f236 SVN_SILENT made messages (.desktop file) 2013-05-11 10:34:17 +02:00
Script Kiddy 44c8899fee SVN_SILENT made messages (.desktop file) 2013-05-10 11:04:42 +02:00
Fredrik Höglund 2f11f71930 kwin: Bind attributes to the same indices in all shaders
This saves us from having to look up the attribute locations each
time we update the vertex array state.
2013-05-08 18:37:39 +02:00
Fredrik Höglund 87ad8789f1 kwin: Update the GL1 code in GLVertexBuffer to match the VBO code
This saves two memory allocations in the GL1 path in setData().
2013-05-08 18:37:27 +02:00
Fredrik Höglund e1a33cec44 kwin: Don't reallocate the vertex buffer on every setData() call
Allocate enough space to hold the geometry for multiple draw calls,
and use glMapBufferRange() to gradually fill the buffer.  Once the
data store is full, it's orphaned and a new one is allocated.
2013-05-08 18:37:12 +02:00
Fredrik Höglund 0475559120 kwin: Use one buffer object in GLVertexBuffer
Store the vertex positions and texture coordinates in the same buffer
object. This saves one buffer allocation in every setData() call.

The attributes are also interleaved as they are uploaded into the buffer
to maximize locality of reference.
2013-05-08 18:37:02 +02:00
Fredrik Höglund e65f717b47 kwin/es: Resolve functions for GL_EXT_map_buffer_range 2013-05-08 18:36:50 +02:00
Fredrik Höglund b6585c2d8b kwin/es: Resolve functions for GL_OES_mapbuffer 2013-05-08 18:36:45 +02:00
Fredrik Höglund 11b9323f3d kwin: Resolve functions for GL_ARB_map_buffer_range 2013-05-08 18:36:38 +02:00
Fredrik Höglund 08d3b6cc3a kwin: Resolve more functions from ARB_vertex_buffer_object
This patch resolves:
    glMapBuffer()
    glUnmapBuffer()
    glBufferSubData()
    glGetBufferSubData()
2013-05-08 18:36:04 +02:00
Fredrik Höglund b7f1856a35 kwin: Fix color correction with GLSL 1.40 2013-05-08 18:33:03 +02:00
Fredrik Höglund 9006e0e465 kwin/logout: Add GLSL 1.40 versions of the shaders 2013-05-08 18:33:03 +02:00
Fredrik Höglund a3d907d748 kwin/glx: Use glBlitFramebuffer() instead of glCopyPixels()
glCopyPixels(), glRasterPos() and glBitmap() are not available
in a core context.
2013-05-08 18:33:03 +02:00
Fredrik Höglund c652c8e1a8 kwin/blur: Add support for GLSL 1.40 2013-05-08 18:33:03 +02:00
Fredrik Höglund eff09c2b6f kwin/blur: Refactor the gaussian kernel code 2013-05-08 18:33:03 +02:00
Fredrik Höglund 54308889f0 kwin: Bind fragdata locations in ShaderManager
Fragment shaders are expected to declare a vec4 fragColor output,
which will be bound to the first draw buffer.
2013-05-08 18:33:03 +02:00
Fredrik Höglund 54b63a85a6 kwin: Add GLSL 1.40 versions of the scene shaders
Adjust ShaderManager to load the 1.40 versions when GLSL 1.40
is supported.
2013-05-08 18:33:03 +02:00
Fredrik Höglund 79db2fc98a kwin: Move the scene shaders into shaders/1.10 2013-05-08 18:33:03 +02:00
Fredrik Höglund fe559c2f2c kwin: Refactor the ShaderManager code
This patch reduces code duplication and simplifies the code in general.
2013-05-08 18:33:03 +02:00
Fredrik Höglund 85a87bfcd1 kwin: Refactor GLShader to allow explicit linking
This patch adds a link() function, along with bindAttributeLocation()
and bindFragDataLocation().

These functions must be called after creating the program, but before
linking it.

A new ExplicitLinking flag must be passed to the constructor to prevent
automatic linking. This is to keep existing code working without
modifications.
2013-05-08 18:33:02 +02:00
Fredrik Höglund e0003db385 kwin: Resolve functions for GL_EXT_gpu_shader4 2013-05-08 18:33:02 +02:00
Fredrik Höglund d324ec998a kwin: Create a vertex array object in SceneOpenGL2
Using a vertex array object is not optional in an OpenGL core context.
2013-05-08 18:33:02 +02:00
Fredrik Höglund 2bcad53bbb kwin: Resolve functions for GL_ARB_vertex_array_object 2013-05-08 18:33:02 +02:00
Fredrik Höglund 2b00beecd2 kwin: Don't require GL_ARB_shading_language_100
This version of GLSL is not supported in a core context.
2013-05-08 18:33:02 +02:00
Fredrik Höglund 5b80d8d513 kwin: Fix shader function resolution for core contexts 2013-05-08 18:33:02 +02:00
Fredrik Höglund cb81e11375 kwin: Fix FBO function resolution for core contexts 2013-05-08 18:33:02 +02:00
Fredrik Höglund 855a7cc897 kwin: Fix glActiveTexture() resolution for core contexts 2013-05-08 18:33:02 +02:00
Fredrik Höglund 1bcf95f3f9 kwin: Fix VBO function resolution for core contexts
Mesa doesn't advertise extensions that were core in 1.5 in an OpenGL
context that uses the core profile.
2013-05-08 18:33:02 +02:00
Fredrik Höglund 63e0d32706 kwin: Fix extension list query for core contexts
Use glGetStringi() to list the extensions when the GL version is 3.0
or greater. glGetString() does not accept the GL_EXTENSIONS token
in an OpenGL core context.
2013-05-08 18:33:01 +02:00
Fredrik Höglund 55a8e68a4c kwin/egl: Try to create an OpenGL 3.1 core context 2013-05-08 18:33:01 +02:00
Fredrik Höglund e9c5ab8c91 kwin/egl: whitespace 2013-05-08 18:33:01 +02:00
Fredrik Höglund d116ef6655 kwin/egl: Add defines for EGL_KHR_create_context 2013-05-08 18:33:01 +02:00
Fredrik Höglund 26f23b656b kwin/glx: Try to create an OpenGL 3.1 core context 2013-05-08 18:33:01 +02:00
Fredrik Höglund b0cc22acbb kwin: Add a glCoreProfile property in Options
This property enables creation of an OpenGL 3.1 core context
when set to true. The default value is false.
2013-05-08 18:33:01 +02:00
Fredrik Höglund f06990a7e7 kwin: Refactor the UI for compositing type selection
Remove the "Use OpenGL 2 shaders" checkbox, and add "OpenGL 2.0"
and "OpenGL 3.1" options in the compositing type combobox.
2013-05-08 18:33:01 +02:00
Fredrik Höglund 84ad2585e1 kwin: Use glXCreateContextAttribsARB() when it's supported 2013-05-08 18:32:58 +02:00
Fredrik Höglund aab026af93 kwin: Resolve functions for GLX_ARB_create_context 2013-05-08 18:12:43 +02:00